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:
Exemplo | Resultado |
---|---|
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. |