Skip to main content
Version: latest

自动圈选

通过set行为可以实现自动圈选逻辑,即根据前面题目的回答情况,自动为后续题目选择相应的选项。

注意事项
  • set操作仅对单选、多选、下拉题有效
  • 有自动圈选的题目不允许回答者手动选择
  • 可以结合hide将中间变量题目隐藏

基础自动圈选

根据前一题的选择,自动圈选下一题的相应选项

例子

Q1. 您的收入情况是?【单选】Q1

  • A. <1000 Q1A1
  • B. 1000-5000 Q1A2
  • C. 5000-10000 Q1A3
  • D. >10000 Q1A4

Q2. 您的人群分类?【单选】Q2

  • A. 低收入 Q2A1
  • B. 中等收入 Q2A2
  • C. 高收入 Q2A3

自定义逻辑

if Q1A1 then set Q2A1 # 收入<1000,自动圈选低收入
if Q1A2 or Q1A3 then set Q2A2 # 收入1000-10000,自动圈选中等收入
if Q1A4 then set Q2A3 # 收入>10000,自动圈选高收入

效果

当答题者在Q1中选择不同的收入选项时,Q2会自动圈选对应的人群分类选项。

结合自定义参数的自动圈选

通过PARAMS函数获取自定义参数,实现基于外部参数的自动圈选

例子

Q1. 您的身份是?【单选】Q1

  • A. 高级管理者 Q1A1
  • B. 基层管理者 Q1A2
  • C. 普通员工 Q1A3

Q2. 您好XXX,您是否愿意接受我们的调研?【单选】Q2

  • A. 愿意 Q2A1
  • B. 不愿意 Q2A2

自定义逻辑

# 根据自定义参数user_name为张三,自动圈选高级管理者
if PARAMS("user_name") == "张三" then set Q1A1

# 将题目中的XXX替换为用户姓名
replace "XXX" in Q2 title with PARAMS("user_name")

使用场景

组合自定义参数和自动圈选

使用set作为中间变量

set可以作为中间变量来存储逻辑运算的结果,简化复杂的逻辑表达

例子

Q1. 您购买过以下哪些国货品牌?【多选】Q1

  • A. 华为 Q1A1
  • B. 小米 Q1A2
  • C. OPPO Q1A3

Q2. 在购买的国货品牌中,您会向亲友推荐的有?【多选】Q2

  • A. 华为 Q2A1
  • B. 小米 Q2A2
  • C. OPPO Q2A3

Q3. 您愿意推荐给亲友的品牌(此题不显示给用户)【多选】Q3

  • A. 华为 Q3A1
  • B. 小米 Q3A2
  • C. OPPO Q3A3

Q4. 您愿意向亲友推荐【嵌入被访人同时在Q1和Q2中进行了选择的品牌名字】的原因是?【文本题】Q4

  • A. 品牌介绍1 Q4S1
  • B. 品牌介绍2 Q4S2
  • C. 品牌介绍3 Q4S3

自定义逻辑

# 显示Q2选项,仅显示Q1中已选择的选项
if Q1A1 then show Q2A1
if Q1A2 then show Q2A2
if Q1A3 then show Q2A3

# 使用set作为中间变量,保存同时在Q1和Q2中选择的选项
if Q1A1 and Q2A1 then set Q3A1
if Q1A2 and Q2A2 then set Q3A2
if Q1A3 and Q2A3 then set Q3A3

# 隐藏Q3,不显示给用户
hide Q3

# 将Q3的结果(作为中间变量)用于题目内容替换
replace "【嵌入被访人同时在Q1和Q2中进行了选择的品牌名字】" in Q4 title with Q3

# 根据Q3的结果控制Q4子问题的显示
if Q3A1 then show Q4S1 # 如果华为被同时选择,显示华为相关问题
if Q3A2 then show Q4S2 # 如果小米被同时选择,显示小米相关问题
if Q3A3 then show Q4S3 # 如果OPPO被同时选择,显示OPPO相关问题