Modificadores de conjunto con definiciones de valores de campo implícitas
Lo siguiente describe cómo podemos definir un conjunto de valores de campo empleando una definición de conjunto anidada.
En tales casos, se han de emplear las funciones de elementos P() y E(), las cuales representan el conjunto de elementos de valores posibles y valores excluidos de un campo, respectivamente. Dentro de los paréntesis, se puede especificar una expresión de conjunto y un campo, por ej. P({1} Customer). Estas funciones no podrán emplearse en otras expresiones:
Ejemplos:
Ejemplo | Resultado |
---|---|
sum( {$<Customer = P({1<Product={‘Shoe’}>} Customer)>} Sales ) |
Devuelve las ventas de la selección actual, pero solo con aquellos clientes que alguna vez han comprado el producto "Shoe". La función de elemento P( ) aquí devuelve una lista de posibles clientes, aquellos implícitos por la selección "Shoe" en el campo Product. |
sum( {$<Customer = P({1<Product={‘Shoe’}>})>} Sales ) |
Igual que el anterior. Si se omite el campo en la función de elemento, la función devolverá los valores posibles del campo especificados en la asignación externa. |
sum( {$<Customer = P({1<Product={‘Shoe’}>} Supplier)>} Sales ) |
Devuelve las ventas de la selección actual, pero solo con aquellos clientes que alguna vez han suministrado el producto "Shoe" (Zapato). La función de elemento P( ) aquí devuelve una lista de posibles proveedores, aquellos implícitos por la selección "Shoe" en el campo Product. La lista de proveedores se utiliza entonces como una selección en el campo Customer. |
sum( {$<Customer = E({1<Product={‘Shoe’}>})>} Sales ) |
Devuelve las ventas de la selección actual, pero solo con aquellos clientes que nunca han comprado el producto "Shoe". La función de elemento E( ) aquí devuelve una lista de clientes excluidos, aquellos excluidos por la selección "Shoe" en el campo Product. |