set 関数を使用した set 修飾子
ネストされた set 定義を使用して、項目値のセットを定義する必要がある場合があります。例えば、製品を選択せずに、特定の製品を購入したすべての顧客を選択したい場合があります。
このような場合は、要素セット関数 P() および E() を使用してください。これらは、それぞれ、項目の可能な値と除外された値の要素セットを返します。角括弧内で、問題の項目と、スコープを定義する set 数式を指定できます。例:
P({1<Year = {2021}>} Customer)
これにより、2021 年にトランザクションが発生した一連の顧客が返されます。その後、これを set 修飾子で使用できます。例:
Sum({<Customer = P({1<Year = {2021}>} Customer)>} Amount)
この set 数式はこれらの顧客を選択しますが、選択を 2021 年に制限するものではありません。
これらの関数は、他の数式では使用できません。
さらに、要素セット関数内で使用できるのは natural set のみです。つまり、単一の選択によって定義されたレコードのセットです。
例えば、{1-$} によるセットは選択を通して定義されたものとは限らず、そのため natural set ではありません。これらの関数を non-natural set で使用すると、予期しない結果が返されます。