スキップロジック(分岐または条件付きロジックとも呼ばれる)により、回答者の回答に適応する動的な調査を作成できます。rtSurveyでは、スキップロジックはXLSFormのrelevant列を使用して実装されます。

基本的なスキップロジック

基本的なスキップロジックを実装するには、relevant列を使って条件を指定します:

  | type           | name          | label                       | relevant            |
|----------------|---------------|-----------------------------|--------------------|
| select_one y_n | likes_pizza   | ピザは好きですか?          |                    |
| select_multiple pizza_toppings | favorite_topping | お気に入りのトッピング | ${likes_pizza} = 'yes' |
  

この例では、回答者がピザが好きかどうかに「はい」と答えた場合のみ「お気に入りのトッピング」質問が表示されます。

Relevant式の構文

  • ${ }を使って他の質問変数を参照する。
  • select_one質問では直接比較する:${question_name} = 'answer'
  • select_multiple質問ではselected()関数を使用する。

高度なスキップロジック

複数の条件

andor、括弧を使って複数の条件を組み合わせることができます:

  | type    | name  | label                   | relevant                                  |
|---------|-------|-------------------------|-------------------------------------------|
| integer | age   | 年齢は何歳ですか?       |                                           |
| text    | school| どの学校に通っていますか? | ${age} < 18 and (${location} = 'urban' or ${location} = 'suburban') |
  

select_multiple質問の使い方

select_multiple質問にはselected()関数を使用する:

  | type           | name          | label                       | relevant                               |
|----------------|---------------|-----------------------------|-----------------------------------------|
| select_multiple pizza_toppings | favorite_topping | お気に入りのトッピング |                                         |
| text           | cheese_type   | お気に入りのチーズの種類     | selected(${favorite_topping}, 'cheese') |
  

多肢選択の「その他」オプション

relevantを使って自由記述の「その他」オプションを実装する:

  | type           | name                  | label                               | relevant                               |
|----------------|----------------------|-------------------------------------|---------------------------------------|
| select_multiple pizza_toppings | favorite_toppings | お気に入りのピザトッピングは何ですか? |                                       |
| text           | favorite_toppings_other | 他にどんなトッピングが好きですか?   | selected(${favorite_toppings}, 'other') |
  

choicesワークシートに’other’をオプションとして含めることを忘れないでください。

rtSurvey固有の機能

動的relevance

rtSurveyは計算フィールドに基づいた動的relevanceを許可します:

  | type      | name       | label              | calculation                   |
|-----------|------------|--------------------|-----------------------------|
| calculate | total_score| 合計スコア        | ${score1} + ${score2} + ${score3} |
| text      | feedback   | フィードバック           | ${total_score} > 75             |
  

繰り返し内のRelevance

rtSurveyは繰り返しグループ内のrelevanceをサポートします:

  | type         | name         | label            | relevant               |
|--------------|--------------|------------------|------------------------|
| begin repeat | child_info   | 子供の情報|                        |
| integer      | child_age    | 子供の年齢      |                        |
| text         | school_name  | 学校名      | ${child_age} >= 5      |
| end repeat   |              |                  |                        |
  

カスケードrelevance

rtSurveyは、1つの質問のrelevanceが別の質問に依存し、それがさらに3番目の質問に依存するカスケードrelevanceを効率的に処理します:

  | type           | name        | label                  | relevant               |
|----------------|-------------|------------------------|------------------------|
| select_one y_n | has_car     | 車を持っていますか?      |                        |
| select_one car_type | car_type | 車のタイプは?    | ${has_car} = 'yes'     |
| text           | model       | 具体的なモデル         | ${car_type} = 'sedan'  |
  

rtSurveyでのスキップロジックのベストプラクティス

  1. シンプルに保つ:可能な限り過度に複雑なrelevance条件を避ける。
  2. 徹底的にテストする:rtSurveyのプレビュー機能を使って調査のすべての可能なパスをテストする。
  3. パフォーマンスを考慮する:非常に複雑なスキップロジックは、特にモバイルデバイスで調査のパフォーマンスに影響する場合がある。
  4. 明確な変数名を使用する:これによりrelevance式の読み取りと維持が容易になる。
  5. ロジックを文書化する:特にチームコラボレーションのために複雑なスキップパターンを説明するメモを追加する。
  6. データ分析を念頭に置く:スキップされた質問は欠損データになる。それに応じた分析を計画する。

スキップロジックのトラブルシューティング

  • 構文エラー:すべての${ }が正しく閉じられていて正しくスペルされていることを確認する。
  • 循環参照:質問が互いに依存するループを作成しないようにする。
  • 大文字小文字の区別:回答の選択肢はrelevance式で大文字小文字を区別することに注意する。
  • 数値の比較:数値の比較には適切な演算子(<>=)を使用する。

まとめ

スキップロジックの効果的な使用はrtSurveyプロジェクトの回答者体験とデータ品質を大幅に向上させることができます。rtSurveyの高度な機能を活用してベストプラクティスに従うことで、各回答者のユニークな状況に適応する動的で効率的な調査を作成できます。

このページは役に立ちましたか?