[survey name="awesome-survey-thumbs" title="Awesome Survey"]
[radio question="Choose any one option:"]
- cat
- dog
[/radio]
[checkbox question="Choose multiple options:"]
- red
- blue
- green
[/checkbox]
[dropdown question="Gender:"]
- Male
- Female
[/dropdown]
[number question="Rate this survey from 1 to 10:"]
[/number]
[textarea question="What is your feedback about xyz?" required="false"]
[/textarea]
[star question="How would you rate overall experience?"]
[/star]
[thumbs question="Were you satisfied with our services?"]
[/thumbs]
[/survey]
目前,该插件没有后端用户界面可以直接查看调查结果。相反,您可以使用 Data Explorer 查询来获取和分析调查响应。以下是一个示例查询:
-- [params]
-- text :survey_name = survey
SELECT s.id, s.name, s.post_id, sf.question, COALESCE(sr.value, sfo.html) AS value, sr.user_id, sr.created_at as responded_at
FROM surveys s
JOIN survey_fields sf ON sf.survey_id = s.id
JOIN survey_responses sr ON sr.survey_field_id = sf.id
LEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id
WHERE s.name = :survey_name
ORDER BY s.id DESC
不过,在一些生成式人工智能的帮助下,我能够生成一个非常出色的 Data Explorer 查询。由于 Data Explorer 的一些限制,它无法足够动态地适应各种调查;基本上,您需要为每个调查定制一个查询。
幸运的是,生成式人工智能可以使这一过程变得相当简单。以下是一个在大多数生成式人工智能服务中都可能有效的示例提示(如果您没有激活 AI 插件),只需插入您的调查 markdown 即可开始:
生成式人工智能提示,用于为特定调查生成定制化 SQL 查询
我有一个以 markdown 格式定义的调查,我需要一个 SQL 查询来使用 Data Explorer 插件从 Discourse 数据库中提取调查结果。该调查包含各种类型的问题,如单选按钮、下拉菜单、星级、复选框、文本区域、拇指和数字。我希望查询的输出是每个用户占一行,每个问题占一列。对于复选框问题,多个响应应合并为单个字符串。
这是调查 markdown:
在此处粘贴您的调查 markdown
这是用于获取调查结果的原始查询:
-- [params]
-- text :survey_name = survey
SELECT s.id, s.name, s.post_id, sf.question, COALESCE(sr.value, sfo.html) AS value, sr.user_id, sr.created_at as responded_at
FROM surveys s
JOIN survey_fields sf ON sf.survey_id = s.id
JOIN survey_responses sr ON sr.survey_field_id = sf.id
LEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id
WHERE s.name = :survey_name
ORDER BY s.id DESC