getQuestionValue( )
指定された項目パスの単一の質問値を返します。項目パスはパス全体であり、visitId、formId、および itemIdの値を含む必要があります。この関数は、繰返しフォームとフラット・フォームの両方で質問から値をフェッチします。
「すべての訪問」は、変数定義では使用できません。1つの関数コールで繰返しフォーム・インスタンスから複数の値をフェッチする場合は、getRFValues( )関数を使用します。
ノート:
- このルールは訪問開始日項目をサポートしていません。
- これは集計関数であり、ターゲットが繰返しフォーム上にある場合は、各フォーム・インスタンスに対してルールが実行されます。
構文
getQuestionValue('ruleVariable', eventInstanceNumber, formInstanceNumber, repeatFormNumber)
パラメータ
ノート:
オプション・パラメータがない場合、イベント・インスタンス番号およびフォーム・インスタンス番号はルール・ターゲット・コンテキストから取得されます。パラメータ | 必須/オプション | 説明 |
---|---|---|
ruleVariable |
必須 | 取得する変数。ルール変数(ルール・エディタでグローバルに追加)である必要があります。 |
eventInstanceNumber |
オプション |
イベント インスタンス番号/サイクル インスタンス番号。 非反復ビジットを参照するには、空の文字列を渡します。 |
formInstanceNumber |
オプション |
フォーム・インスタンス番号。 繰り返さないフォームを参照するには、空の文字列を渡します。 |
repeatFormNumber |
オプション |
フォーム番号を繰り返して、2つのセクション・フォーム上の項目を参照します。 |
戻り値
対応するデータ型の質問値。値がない場合はnull。
ノート:
削除されたインスタンスでも値が返されます。質問タイプ | 戻りデータ型の詳細。 |
---|---|
日付 | 変数が部分日付の場合、戻される変数値はC1Date オブジェクトになります。または、変数が完全日付の場合、Date オブジェクトになります。
詳細は、カスタム・ルールでの日付の一部の処理を参照してください。 ノート: 日付アイテムを使用する場合は、nullチェックを含める必要があります。詳細は、例を参照してください。 |
選択制御:
|
返される変数値は、JSON形式の文字列です。
これは、JSON.parse またはヘルパー関数parseChoice を使用して解析できます。
|
例)
例3-96 2セクション・フォームでのgetQuestionValueの使用
2セクション形式の表の行内の項目にgetQuestionValueを使用するには、構文は次のとおりです。
getQuestionValue('ruleVariable', eventInstanceNumber, repeatNumber, formInstanceNumber)
// Get a value from an item in a flat form
return (getQuestionValue('text1');
// Get a value from an item in repeating form instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', '', 1);
// Get a value from a flat form in unscheduled visit instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', 1, '');
// Get a date value from a flat form
var res = getQuestionValue('dt1');
if(res !== null) {
return res.getFullYear();
} else {
// do nothing
return;
}
//In a 2-section form, get a value from Form 2, Table Row 3:
return getQuestionValue('v2', '', 3, 2);
親トピック: 複数の訪問スケジュールおよび循環訪問機能