购买咨询
微信咨询
电话咨询
预约演示
跳转到内容

DSL执行方法

配额方法——quota

通过DSL进行配额管,请参看配额管理

显示方法——show

  • 单条件显示
    • 显示题目if Q1A1 then show Q2
    示例

    Q1:您是否有驾照?
    A1:有
    A2:没有
    Q2:您的驾照类型是?(Q2)
    📝如果用户第一题选择第一个选项“有”[Q1A1],则显示第二题[Q2]

    • 显示选项 if Q1A1 then show Q2A1
    示例

    Q1:您目前的职业身份是?
    A1:教师
    A2:医生
    A3:其他
    Q2:您关注的内容类型是?
    A1:教学资源
    A2:医学资讯
    A3:通用内容
    📝只有在Q1中选择了“教师”[Q1A1],Q2的选项“教学资源”[Q2A1]才会显示给用户。如果选择“医生”或“其他”,则选项不会出现,但其他选项仍然正常展示。

  • 与条件 显示 if Q1A1 and Q2A1 then show Q3
    示例

    Q1:您是否注册过本平台?
    A1:是
    A2:否
    Q2:您是否购买过产品?
    A1:是
    A2:否
    📝如果 Q1 和 Q2 都选择“是”[Q1A1 and Q2A1],则显示 Q3:请评价您的购买体验。

  • 或条件 显示 if Q1A1 or Q1A2 then show Q2
    示例

    Q1:您日常出行方式有哪些?
    A1:骑自行车
    A2:步行
    A3:驾车
    📝如果用户选择了“骑自行车”[Q1A1] 或“步行”[Q1A2],则显示Q2:您对绿色出行的看法?

  • 组合条件显示 if (Q1A1 or Q1A2) and Q2A1 then show Q2,Q3
    示例

    Q1:您通过哪些渠道了解我们的产品?
    A1:社交媒体
    A2:线上广告
    A3:线下门店
    Q2:您是否曾经访问过我们的官方网站?
    A1:是
    A2:否
    Q3:您最常访问我们官网的哪个版块?
    Q4:您是否愿意参与产品改进的用户访谈?
    📝如果用户在Q1中选择了“社交媒体”[Q1A1]或“线上广告”[Q1A2],且Q2中选择了是访问过官网[Q2A1],则显示 Q3 和 Q4。


隐藏方法——hide

if Q1A1 then hide Q2
📝 如果选择了Q1A1,则隐藏第二题[Q2]

⚠️隐藏hide与显示show

隐藏与显示对逻辑语句的使用基本相同

  • 想让题目在特定条件下才出现:用 show
  • 想让题目在特定条件下消失:用 hide
    为了使问卷逻辑更清晰,建议配合题目的业务背景选择合适的方法。



跳转方法——goto

  • 单条件跳转 if Q1A1 then goto from Q1 to Q6
示例

Q1:您是否愿意参与本次完整问卷?
A1:不愿意
A2:愿意
Q2~Q5:调查详细问题
Q6:请问不参与问卷的原因?
📝如果用户在Q1中选择了不愿意[Q1A1],则直接略过Q2~Q5,跳转到Q6。

跳转到结尾

此外,单条件跳转不仅可以跳转到某一题,也可以直接跳转到问卷结尾
if Q1A1 then goto from Q1 to END
END是表示问卷结尾的题目变量。

  • 组合条件跳转
    if (Q1A1 and Q2 < 65) or (Q1A2 and Q2 < 60) then branch from Q2 to END
示例

Q1. 你的性别?
A1:男
A2:女
Q2:你的年龄?
Q3~Q8:调查详细问题
📝如果用户是男性且年龄小于65岁[(Q1A1 and Q2 < 65)],或是女性且年龄小于60岁[Q1A2 and Q2 < 60],则在答完 Q2 后,直接跳转到问卷结束,不再显示 Q3~Q8。



赋值方法——assignment

  • 条件赋值 if Q1A1 then assignment Q2 = 20
示例

Q1:您是否参加过我们的培训课程?
A1:是
A2:否
Q2:培训评估得分(系统自动填写)
📝 如果用户在 Q1 选择了“是”[Q1A1],则系统将 Q2 的值设置为 20。

  • 无条件赋值 assignment Q2 = 20
    📝 无论用户填不填写,系统一开始就将 Q2 的值设置为 20

验证方法——=validate

  • 无条件相等验证 validate Q5 == Q1 + 1
示例

Q1:候选人已完成的面试轮数
Q5:当前要安排的面试轮次为第几轮?
📝 确保面试安排连续进行,不跳轮、不重复面。Q5 必须等于 Q1 +1。

  • 无条件范围验证 validate Q5 >= Q1 + 1
示例

Q1:您现有的项目成员人数?
Q5:您希望扩充后的团队人数?
📝 系统检查 Q5 是否大于等于 Q1 + 1,即新团队人数至少要增加一个人。
用于业务逻辑合理性验证,防止用户输入不符现实预期的数值。

  • 条件验证 if Q1A1 then validate Q5 >= Q1 + 1
示例

Q1:您拥有的子女数量?
A1:填写为整数,例如 1、2、3...
Q5:您预计明年子女数量? 📝 如果用户在 Q1 中填写的子女数量是 1,并选择了 A1(表示确认为“当前准确”),
则系统校验 Q5 的值必须 大于等于 Q1 的值 +1,也就是至少为 2,
否则提示“请检查您的预期是否合理”。



取选中选项的长度——selectSize

assignment Q2 = selectSize(Q1)

示例

Q1:您常用的购物平台是?
A1:淘宝
A2:京东
A3:拼多多
A4:其他
Q2:常用胡购物平的数量是多少?
📝 Q2 为填空题,用于记录用户在 Q1 中选择了几个选项。
例如,如果用户选择了淘宝和京东,selectSize(Q1) 返回 2,Q2 的值将为 2。
这种方式常用于统计选择数量、做分支判断或配额设置等。



配置选项互斥——mutex ... deselect ...*

dsl
mutex Q1A1 deselect Q2A1
mutex Q1A2 deselect Q2A2
mutex Q1A3 deselect Q2A3
示例

Q1:请选择您认可的描述(可多选)
A1:服务及时
A2:态度友好
A3:效率高
Q2:请选择您不认可的描述(可多选)
A1:服务拖延
A2:态度冷漠
A3:处理缓慢
📝对于“服务及时”[Q1A1]和“服务拖延”[Q2A1]用户只能二选其一,剩余选项同理,这样能够避免评价逻辑自相矛盾。

调问-专业的开源问卷表单系统