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

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

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

例と結果

| 例 | 結果 |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Customer)&gt;} Sales ) | 現在の選択に対する sales が返されますが、製品「Shoe」を購入したことのある顧客のみが対象となります。要素関数 P( ) はここで、絞り込まれた顧客 (Shoe を項目 Product で選択することで黙示的に定義) のリストを返します。 |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | 上記と同様です。要素関数内の項目が省略されると、外部代入で指定された項目に可能な値が返されます。 |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Supplier)&gt;} Sales ) | 現在の選択に対する sales が返されますが、製品「Shoe」を供給したことのある顧客のみが対象となります。要素関数 P( ) はここで、絞り込まれたサプライヤ (「Shoe」を項目 Product で選択することで黙示的に定義) のリストを返します。次に、サプライヤのリストは項目 Customer の選択に使用されます。 |
| sum( {$&lt;Customer = E({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | 現在の選択に対する sales が返されますが、製品「Shoe」を購入したことのない顧客のみが対象となります。ここで関数 E( ) は、「Shoe」を Product 項目で選択することによって除外された Customer のリストを返します。 |