# Модификаторы множества с определениями значений поля implicit

Далее описано, как определить множество значений поля с помощью вложенного определения множества.

В подобных случаях должны использоваться функции элементов P() и E(), представляющие множество элементов возможных значений и исключенные значения поля, соответственно. В скобках можно указать одно выражение множества и одно поле. Например: `P({1} Customer)`. Эти функции не могут использоваться в других выражениях.

Примеры:

Примеры и результаты

| Пример | Результат |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Customer)&gt;} 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 ) | Возвращает продажи для текущей выборки, но только для тех клиентов, которые когда-либо поставляли продукт «Shoe». Здесь функция элемента P( ) возвращает список возможных поставщиков, подразумеваемых выборкой «Shoe» в поле Product. Список поставщиков затем используется в качестве выборки в поле Customer. |
| sum( {$&lt;Customer = E({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | Возвращает продажи для текущей выборки, но только для тех клиентов, которые никогда не покупали продукт «Shoe». Здесь функция элемента E( ) возвращает список исключенных клиентов, которые исключены выборкой «Shoe» в поле Product. |