[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]
現在、このプラグインには、アンケート結果を直接表示するためのバックエンド UX はありません。代わりに、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
-- [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
次のSQLクエリを生成してください。
アンケート名をハードコードします。
条件付き集計を使用してデータをピボットし、各質問を列にします。
チェックボックスの質問にはSTRING_AGGを使用して複数の回答を処理します。
user_idでグループ化し、user_idで並べ替えます。
可読性のためにフォーマットし、ロジックを説明するコメントを含めます。
Data Explorerプラグインの追加ガイダンス:
クエリはDiscourse Data Explorerプラグインと互換性がある必要があります。つまり、セミコロンで終わるべきではありません。
Data Explorer内の自動リンク機能を利用するために、user_idのような列名を使用します。