# 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:

Exemplos:

Exemplos e resultados

| Exemplo | Resultado |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Customer)&gt;} 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( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;})&gt;} 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( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Supplier)&gt;} 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( {$&lt;Customer = E({1&lt;Product={‘Shoe’}&gt;})&gt;} 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. |