getMatching2SFormsCount( )

検索キーとして指定したアイテム値と一致する2セクション・フォームの繰返しインスタンスの数を取得します。

構文

getMatching2SFormsCount(formInstance, 'variable1', value1, 'variable2', value2, ...)

パラメータ

formInstance
重複を検索する2セクションのフォーム インスタンスまたはセクションの範囲を指定します。
  • フラット・セクションのnullおよび変数では、すべてのフォーム・インスタンスにわたってフラット・セクションで重複を検索します。
  • 表セクションのnullおよび変数の場合、すべてのフォーム・インスタンスのすべての表の行で重複を検索します。
  • formInstance値が指定され、変数がフラット・セクションにある場合、検索は指定されたインスタンスのフラット・セクションで実行されます。

    注意:

    これにより、単一インスタンスの検索が構成されます。
  • formInstance値が指定され、変数が表セクションにある場合、検索は指定したインスタンスのすべての表行にわたって実行されます。
変数
ルール変数。

注意:

この関数に渡された変数は、ルール式内の他の場所でも再使用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。

検索する値。

戻り値

渡されたパラメータに応じて一致するインスタンスの数:
  • formInstancenullで、変数がフラット・セクションにある場合、一致する繰返しフォーム・インスタンスの数が返されます。
  • formInstancenullで、変数が表の行にある場合、一致する繰返し表の行インスタンスの数が返されます。
  • formInstance値が指定され、変数がフラット・セクションにある場合、指定されたフォーム・インスタンスのフラット・セクション内の一致するインスタンスの数が返されます。
  • formInstance値が指定され、変数が表セクションにある場合は、指定したフォーム・インスタンス内で一致する繰返し表の行インスタンスの数が返されます。

ノート:

日付では、UNK値が他の値と一致するとみなされます。たとえば、'Date(01-Feb-2022)''Date(20-Feb-2022)'は、両方ともUNK-Feb-2022日付値を持つエントリの一致とみなされます。

使用上のヒント

  • 選択コントロール(ラジオ・コントロール、チェック・ボックス・コントロールおよびドロップダウン)を受け入れることはできますが、値ではなくラベルでのみ検索できます。
  • 選択コントロールの検索テキストとして指定できるオプションは1つのみです。
  • 日付は、文字列'Date(dd-mmm-yyyy hh:mm:ss)'内に指定する必要があります。
  • 日付の一部を次の書式で使用できます。
    • <dd-mmm-yyyy hh:mm>
    • <dd-mmm-yyyy hh>
    • <dd-mmm-yyyy>
    • <yyyy-mmm>
    • <yyyy>
  • 時間は文字列'Time(hh:mm:ss)'内に指定する必要があります。
  • 時間の一部を次の書式で使用できます。
    • <hh:mm>
    • <hh>

Example 3-76 Raise a query if there is more than one instance where AE Outcome is "Fatal"

// Raise a query if there is more than one instance where AE Outcome = 'Fatal"
 
// Get current repeating instance
var ins = GetCurrent2SFormInstance();
var curVal = "";
 
// Get value of aeOut from current instance
var 2sData = get2SValues(ins,getCurrent2STableInstance(),['aeOut'] );
if(2sData.exists && 2sData.aeOut){
        if((2sData.aeOut) !== "[]"){    // If the choice control has been cleared out then do not read the label
            curVal = JSON.parse(2sData.aeOut)[0].label;
    }
}
 
// check to see if there are more than 1 instance with "Yes"
return ((curVal == "Fatal") && (getMatching2SFormsCount(1, 'aeOut', '[{"value":"3","label":"Fatal"}]') > 1))?false:true;