FindMatchingRepeatingFormWithinRange( )
検索キーとして指定された項目値に一致する、フォームIDで識別される繰返しフォームのインスタンスを検索します。検索は、検索キーまたは日付範囲に基づいて行うことができます。
- ドロップダウン、ラジオ・ボタンまたはチェック・ボックス値を関数パラメータまたはターゲットとして使用することはできません。
- 最初の2つのパラメータは、常に日付範囲である必要があります。その後、追加の検索キーを指定できます。
- この関数は、日付が nullのエントリも考慮します。
繰返しフォーム・インスタンスの開始日または終了日がnullの場合、日付範囲重複チェックを正常に実行するために日付が想定されます。
- 開始日が
null
の場合、0001年1月1日とみなされます。 - 終了日が
null
の場合、3099年12月1日とみなされます。
- 開始日が
- 変数が日付の一部を保持するように設計されている場合は、そのパラメータの値を同じ日付形式で指定します。日付の一部を次の書式で使用できます。
- <dd- mmm- yyyy hh:mm>
- <dd- mmm- yyyy hh>
- <dd- mmm- yyyy>
- <mmm- yyyy>
- <yyyy>
これは集計関数です。ターゲットが繰返しフォーム上にある場合、ルールは各フォーム・インスタンスに対して実行されます。
構文
FindMatchingRepeatingFormWithinRange('startDateVariable',startDateValue, 'endDateVariable', endDateValue, 'variable1', value1, 'variable2', value2, ...)
パラメータ
ノート:
ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。パラメータ | 必須/オプション | 説明 |
---|---|---|
startDateVariable |
必須 | 評価する日付範囲の開始日として使用される、繰返しフォームの日付アイテム。 |
startDateValue |
必須 | 日付範囲の開始日の日付値。これは文字列形式で指定する必要があり、ハードコードされている必要があり、ルール変数にはできません。
|
endDateVariable |
必須 | 評価する日付範囲の終了日として使用される、繰返しフォームの日付アイテム。 |
endDateValue |
必須 | 日付範囲の終了日の日付値。
startDateValueパラメータと同じ要件を検討してください。 |
variable(s) |
オプション | 検索する品目変数。一重引用符を使用して渡されます。 |
value(s) |
オプション | 指定された変数の値を検索します。これらはハードコードされている必要があり、ルール変数にはできません。 |
戻り値
一致する値が見つかったフォーム インスタンスのインデックスを表す数値(>0)。
- 複数のインスタンスが見つかった場合、最初の索引のみが返されます。
- 一致が見つからない場合は -1を返します。
ノート:
日付では、UNK
値は他の値と一致するとみなされます。たとえば、'Date(01-Feb-2022)'
と'Date(20-Feb-2022)'
は両方とも、UNK-Feb-2022
日付値を持つエントリの照合とみなされます。
例)
例3-50 a) onset dateが2020年1月1日から2020年3月1日までの間に存在し、b)symptom = "headache"であるインスタンスが存在する場合は、問合せを実行します。
// Given 5 repeating form instances with items "onsetStart", "onsetEnd" and "itmSymptom":
if (FindMatchingRepeatingFormWithinRange('onsetStart', 'Date(01-JAN-2020)', 'onsetEnd', 'Date(01-MAR-2020)', 'itmSymptom', "headache") > 0) {
return false;
} else {
return true;
}
// Fires query if any of the 5 instances contain onset dates between Jan 1 2020 - March 1 2020 AND itmSymptom = "headache"