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

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

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

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

Examples and results:  

Примеры Результаты
sum( {$<Customer = P({1<Product={‘Shoe’}>} Customer)>} Sales )

Возвращает продажи для текущей выборки, но только для тех клиентов, которые когда-либо покупали продукт «Shoe». Здесь функция элемента P( ) возвращает список возможных клиентов, подразумеваемых выборкой «Shoe» в поле Product.

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

Так же, как выше. Если в функции элемента поле опущено, функция вернет возможные значения для поля, указанного во внешнем назначении.

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

Возвращает продажи для текущей выборки, но только для тех клиентов, которые когда-либо поставляли продукт «Shoe». Здесь функция элемента P( ) возвращает список возможных поставщиков, подразумеваемых выборкой «Shoe» в поле Product. Список поставщиков затем используется в качестве выборки в поле Customer.

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

Возвращает продажи для текущей выборки, но только для тех клиентов, которые никогда не покупали продукт «Shoe». Здесь функция элемента E( ) возвращает список исключенных клиентов, которые исключены выборкой «Shoe» в поле Product.