Modificadores de conjunto com definições de valor de campo implícitas

A seguir, é descrito como definir um conjunto de valores de campo usando uma definição de conjunto aninhado.

Nesses casos, devem ser usadas as funções de elemento P() e E() representando o conjunto de elementos de valores possíveis e os valores excluídos de um campo, respectivamente. Dentro dos parênteses, é possível especificar uma expressão de conjunto e um campo, por exemplo P({1} Customer). Essas funções não podem ser usadas em outras expressões:

Examples and results:  

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

Retorna as vendas da seleção atual, mas somente os clientes que já compraram o produto ‘Shoe’. Aqui, a função de elemento P( ) retorna uma lista de clientes possíveis; aqueles decorrentes da seleção ‘Shoe’ no campo Product.

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

O mesmo que o anterior. Se o campo na função de elemento for omitido, a função retornará os valores possíveis do campo especificado na atribuição externa.

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

Retorna as vendas da seleção atual, mas somente os clientes que já forneceram o produto ‘Shoe’. Aqui, a função de elemento P( ) retorna uma lista de fornecedores possíveis; aqueles decorrentes da seleção ‘Shoe’ no campo Product. Assim, a lista de fornecedores é usada como uma seleção no campo Customer.

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

Retorna as vendas da seleção atual, mas somente os clientes que nunca compraram o produto ‘Shoe’. Aqui, a função de elemento E( ) retorna a lista de clientes excluídos; aqueles excluídos pela seleção ‘Shoe’ no campo Product.