黙示的項目値定義を使った set 修飾子

ここでは、ネスト set 定義を用いて、項目値セットを定義する方法について説明します。

このような場合、可能な値の要素セットと項目の除外値をそれぞれ表す関数 P () と E () を使用する必要があります。かっこの中は、P({1} Customer) のように、数式と項目を 1 つずつ指定できます。これらの関数は、他の数式では使用できません。

注: 可能な値の要素セットと項目の除外値をそれぞれ表す関数 P () と E () は natural set でのみ使用できます。つまり、単一の選択によって定義されたレコードのセットです。例えば、{1-$} によるセットは選択を通して定義されたものとは限らず、そのため natural set ではありません。これらの関数を non-natural set で使用すると予期せぬ結果を引き起こす可能性があります。

Examples and results:  

結果
sum( {$<Customer = P({1<Product={‘Shoe’}>} Customer)>} Sales )

現在の選択に対する sales が返されますが、製品「Shoe」を購入したことのある顧客のみが対象となります。要素関数 P () はここで、絞り込まれた顧客 (Shoe を項目 Product で選択することで黙示的に定義) のリストを返します。

sum( {$<Customer = P({1<Product={‘Shoe’}>})>} Sales )

上記と同様です。要素関数内の項目が省略されると、外部代入で指定された項目に可能な値が返されます。

sum( {$<Customer = P({1<Product={‘Shoe’}>} Supplier)>} Sales )

現在の選択に対する sales が返されますが、製品「Shoe」を供給したことのある顧客のみが対象となります。要素関数 P () はここで、絞り込まれたサプライヤ (「Shoe」を項目 Product で選択することで黙示的に定義) のリストを返します。次に、サプライヤのリストは項目 Customer の選択に使用されます。

sum( {$<Customer = E({1<Product={‘Shoe’}>})>} Sales )

現在の選択に対する sales が返されますが、製品「Shoe」を購入したことのない顧客のみが対象となります。ここで関数 E () は、「Shoe」を Product 項目で選択することによって除外された Customer のリストを返します。