高度なランダム化
全ての質問をランダム化するスクリプト設定
#set($ary = ["Q3", "Q4", "Q5", "Q6","Q7","Q8"]) #set($ary = $survey.randomizeList($ary)) #foreach( $val in $ary) $survey.branchTo("$val") #end 上記スクリプトの最初のステートメントでは、Q3、Q4、Q5、Q6、Q7、Q8の各質問をリストに追加し、2番目のステートメントでランダム化しています。ランダム化後、各質問にランダムに分岐します。 設定手順: - 全ての質問を含む基本のアンケートを作成します。
- Q3の直前に「カスタムスコアリング/ロジック」質問を追加し、Q3からQ8をランダム化します。
- 「カスタムスコアリング/ロジック」質問に上記スクリプトを入力します。
- ランダム化を機能させるには、調査が継続する共通のブロック終了質問が必要です。上記の例では、ブロック終了質問はQ9です。
- 上記リストの各質問(Q3、Q4、Q5、Q6、Q7、Q8)をブロック終了質問Q9に分岐させ、アンケートをテストします。
6つの質問のプールからランダムに3つを選択するランダム化設定(N個中M個選択)
#set($ary = ["Q3", "Q4", "Q5", "Q6","Q7","Q8"]) #set($ary = $survey.randomizeList($ary, 3)) #foreach( $val in $ary) $survey.branchTo("$val") #end
上記のスクリプトでは、Q3、Q4、Q5、Q6、Q7、Q8の各質問がリストに追加され、ランダム化されます。ランダム化後、リストにはランダムに3つの質問のみが返され、その後アンケートはその3つの質問のみに分岐します。設定手順: - 全ての質問を含む基本のアンケートを作成します。
- Q3からQ8をランダム化するには、Q3の直前に「カスタムスコアリング/ロジック」質問を追加します。
- 「カスタムスコアリング/ロジック」質問に上記スクリプトを入力します。
- ランダム化を機能させるには、調査が継続する共通のブロック終了質問が必要です。上記の例では、ブロック終了質問はQ9です。
- 上記リストの各質問(Q3、Q4、Q5、Q6、Q7、Q8)をブロック終了質問Q9に分岐させ、アンケートをテストします。
同じロジックを使用して、質問のブロック全体をランダム化することもできます。そのためには、各ブロックの最初の質問のみをランダム化に追加し、各ブロックの最後の質問を共通のブロック終了質問に分岐させます。
パイピングテキスト
複数ページにわたってテキストをパイプするには?
例1: Q1 最もよく行うスポーツは何ですか? 野球 ラグビー サッカー バスケットボール その他 __________上記の例では、回答者が選択したスポーツに基づいて後続の質問をしたいとします。組み込みのパイプオプションは次のページでのみ機能します。また、「その他」オプションが選択された場合に入力されたテキストを自動的にパイプすることはできません。上記のアンケートを設定するには、「カスタムスコアリング/ロジック」スクリプトタイプの質問を使用する必要があります。これにより、カスタム変数1をスポーツで更新し、選択に基づいて分岐を行い、テキストをアンケート内の任意の場所で使用できます。
上記要件のスクリプトは以下の通りです:
#if (${Q1} == 1) $survey.updateCustom1("Baseball") $survey.branchTo("Q2") #end #if (${Q1} == 2) $survey.updateCustom1("Rugby") $survey.branchTo("Q2") #end #if (${Q1} == 3) $survey.updateCustom1("Soccer") $survey.branchTo("Q2") #end #if (${Q1} == 4) $survey.updateCustom1("Basketball") $survey.branchTo("Q2") #end
#if (${Q1} == 5) $survey.updateCustom1("${Q1_OTHER}") $survey.branchTo("Q2") #end 上記のスクリプトでは、Q1でどのオプションが選択されたかを確認し、それに応じてCustom1変数を正しいテキストで更新します。オプション5(「その他」オプション)が選択された場合、Custom1変数はユーザー入力テキストで更新されます。「その他」オプションに入力されたテキストを参照するには、「QuestionCode_OTHER」を使用します。上記の例では、QuestionCodeはQ1なので、Q1_OTHERを使用してユーザー入力テキストを参照します。また、各選択に対して次の質問Q2に分岐しています。必要に応じて、選択に基づいて異なる質問に分岐することもできます。${custom1}を使用して、Custom1変数に保存された値を置き換えることができます。更新後、Custom1の値はアンケート内の任意の場所で使用できます。 設定手順は以下の通りです:
- 全ての質問を含む基本のアンケートを作成します。
- ユーザー/回答者が選択したスポーツのテキストを置き換えたい場所では、${custom1}を使用します。
- Q1の後に「カスタムスコアリング/ロジック」スクリプトタイプの質問を追加し、上記スクリプトを入力します。
- Q1にページ区切りがあることを確認します。
遅延分岐
遅延分岐シナリオ:
ツールコンソールの分岐オプションを使用する場合、分岐は即座に実行されます。上記の例は遅延分岐の例です。
上記要件のスクリプトは以下の通りです:
#if(${Q2} == 1) $survey.branchTo("Q10") #end #if(${Q2} == 2) $survey.branchTo("Q11") #end 上記のスクリプトでは:Q2、Q10、Q11は各質問の質問コードです。ifステートメントは、Q2の回答が1(男性)か2(女性)かを確認し、それに応じてQ10またはQ11に分岐します。 設定手順は以下の通りです:
- 全ての質問を含む基本のアンケートを作成します。
- アンケートのQ9の後に「カスタムスクリプト/スコアリング」ロジック質問を追加します。
- 上記スクリプトをロジック質問に設定します。
- Q10とQ11からQ12へのデフォルト分岐を設定します。
- Q9にページ区切りがあることを確認します。
特定の質問に回答がないかどうかを確認するには?
#if(!${Q1}) $survey.branchTo("Q3") #else $survey.branchTo("Q2") #end 上記のスクリプトは、Q1に回答があるかどうかを確認します。Q1に回答がない場合、アンケートはQ3に分岐し、それ以外の場合はQ2に分岐します。
スコアリング
スコアリングロジックとは?
スコアリングの設定方法は?
以下の例を考えてみましょう:
Q1: アメリカの首都は?- ニューヨーク
- シアトル
- ワシントンDC
- シカゴ
- 20
- 45
- 50
- 63
- 6月4日
- 7月4日
- 7月14日
- 1月24日
- ジョージ・ワシントン
- ジョン・アダムズ
- トーマス・ジェファーソン
- ジェームズ・マディソン
- カナダ
- フランス
- イギリス
- ロシア
- Q1 = 3
- Q2 = 3
- Q3 = 2
- Q4 = 1
- Q5 = 2
スコアリングのスクリプトは以下の通りです:
#set($tot=0) #if (${Q1} == 3) #set($tot = $tot + 1) #end #if (${Q2} == 3) #set($tot = $tot + 1) #end #if (${Q3} == 2) #set($tot = $tot + 1) #end #if (${Q4} == 1) #set($tot = $tot + 1) #end #if (${Q5} == 2) #set($tot = $tot + 1) #end #set($score = $tot)
マトリックス質問のスコアはどう計算しますか?
#set($score=${Q1_1} + ${Q1_2} + ${Q1_3}) [これはマトリックスQ1のスコアを計算します] #set($score=${Q2_1} + ${Q2_2} + ${Q2_3}) [これはマトリックスQ2のスコアを計算します] スコアは質問コードを使用して直接参照できます。 マトリックスQ1のスコア:$Q1 マトリックスQ2のスコア:$Q2 上記の例ではデフォルトのスコア値を使用しています。各オプションにカスタムスコア値を設定することもできます。 計算したスコアをエンドユーザーに表示できますか?
- Login » Surveys » (Select Survey) » Edit Survey » Settings » Finish Options
管理者として、個人の計算スコアを確認できますか?
- Login » Surveys » Analytics » Data Management » Response Viewer
記述式質問の分岐
例1:回答者にディナーに行くのに好きなレストランを尋ね、続いてその選択したレストランに関連する質問をしたい場合。
$survey.updateCustom1("${Q1_1}") $survey.branchTo("Q2") ここで、Q1は記述式/テキスト入力タイプの質問の質問コードです。値はQ1_1で参照し、これは質問の最初のテキストボックス/フィールドです(1つの質問に複数のテキストボックスを設定できます)。Q2は次の質問です。回答者がレストラン名を入力すると、それがQ1_1に保存されます。カスタム変数1:Custom1がこの値で更新され、これでアンケートの残りの部分でどこでも使用できます。
アンケートの設定手順:
- 全ての質問を含む基本のアンケートを作成します。
- 最初の質問Q1で、回答者に選択したレストランを入力してもらいます。アンケートの残りの部分で、入力されたテキストを使用したい場所では${custom1}を使用し、質問の動的置換を有効にします。
- Q1の後に「カスタムスコアリング/ロジック」スクリプトタイプの質問を追加し、上記スクリプトを入力します。
- Q1にページ区切りがあることを確認します。
例2:
スクリプトは以下の通りです:
#if (${Q2_1} == "0") $survey.branchTo("NewBlock") #end #if (${Q1_1} != "0") $survey.branchTo("Q3") #end 上記のスクリプトは、ユーザー入力が0かどうかを確認します。ユーザーが0を入力した場合、QuestionCode NewBlockから始まる次の質問に分岐します。ユーザー入力値が0でない場合、Q3に分岐され、フォローアップ質問を受けます。
複数選択質問の分岐
以下のシナリオを考えてみましょう:
Q1: どのスポーツをしますか? 野球 バスケットボール サッカー テニス
上記の質問は複数選択タイプの質問です。回答者が野球とバスケットボールの回答オプションを選択した場合、Q2に分岐させ、それ以外の場合はQ3に分岐させたいとします。
上記の例のスクリプトは以下の通りです:
#if (${Q1_1} == "1" ) #if (${Q1_2} == "1") $survey.branchTo("Q2") #else $survey.branchTo("Q3") #end #end
複数選択タイプの質問(チェックボックス)と単一選択タイプの質問(ラジオボタン)を参照する際の違いは何ですか?
質問が複数選択タイプの場合、回答オプションは以下のように参照されます:
- 最初の回答オプション:${Q1_1} == "1"、2番目の回答オプション:${Q1_2} == "1"、3番目の回答オプション:${Q1_3} == "1" など...
- 回答オプションが選択されたかどうかを確認するには、「1」に等しいかどうかを確認します。例:#if (${Q1_1} == "1")。単一選択タイプの質問とは異なり、1は引用符で囲む必要があります。
質問が単一選択タイプの場合、回答オプションは以下のように参照されます:
- 最初の回答オプション:#if (${Q1} == 1)、2番目の回答オプション:#if (${Q1} == 2)、3番目の回答オプション:#if (${Q1} == 3) など...
- 回答オプションが選択されているかどうかを確認するには、回答オプションの位置で確認します。この場合、引用符は必要ありません。
マトリックス型質問の分岐
以下のマトリックス質問を考えてみましょう:
シナリオ:回答者に製品、サポート、サービスの満足度レートを尋ねます。回答者が1または2の低い評価をした場合、なぜ低い評価をしたかコメントしてもらう必要があります。
上記要件のスクリプトは以下の通りです:
#if (${Q2_1} == 1 ) $survey.branchTo("Q3") #end #if (${Q2_1} == 2) $survey.branchTo("Q3") #end #if (${Q2_2} == 1 ) $survey.branchTo("Q4") #end #if (${Q2_2} == 2) $survey.branchTo("Q4") #end #if (${Q2_3} == 1 ) $survey.branchTo("Q5") #end #if (${Q2_3} == 2) $survey.branchTo("Q5") #end ここで:Q2はマトリックス質問の質問コードです。マトリックス内の質問は以下のように参照されます:マトリックス内の最初の質問はQ2_1、2番目はQ2_2などです。最初のステートメントは、Q2_1が1または2としてスコア付けされているかどうかを確認し、trueの場合はQ3に分岐します。同様に、2番目と3番目のifステートメントは、2番目と3番目の質問が1または2としてスコア付けされているかどうかを確認し、trueの場合は対応する質問に分岐します。
設定手順は以下の通りです:
- 全ての質問を含む基本のアンケートを作成します。
- アンケートのQ2の後に「カスタムスクリプト/スコアリング」ロジック質問を追加します。
- 上記スクリプトをロジック質問に設定します。
- 組み込みの分岐オプションを使用して、Q3、Q4、Q5からQ6へのデフォルト分岐を設定します。ここで、Q6はアンケートが継続する質問の質問コードです。
- Q2にページ区切りがあることを確認します。