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, es posible especificar una expresión de conjunto y un campo, por ejemplo P({1} Customer). Estas funciones no podrán emplearse en otras expresiones.

Nota: Las funciones de elementos, P() y E(), solo pueden utilizarse en un conjunto natural. Es decir, un conjunto de registros que se pueden definir mediante una selección sencilla. Por ejemplo, el conjunto dado por {1-$} no puede definirse siempre a través de la selección y, por lo tanto, no es un conjunto natural. El uso de estas funciones en conjuntos no naturales puede dar lugar a resultados inesperados.

Examples and results:  

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

Devuelve las ventas de la selección actual, pero solo aquellos clientes que alguna vez compraron el producto "Shoe". La función del elemento P() aquí devuelve una lista de posibles clientes; aquellos que están implicados 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 aquellos clientes que alguna vez han suministrado el producto "Shoe". La función de elemento P() aquí devuelve una lista de posibles proveedores; aquellos implicados por la selección "Shoe" en el campo Product. La lista de proveedores se utiliza 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 aquellos clientes que nunca compraron el producto "Shoe". La función de elemento E( ) aquí devuelve una lista de clientes excluidos; aquellos que están excluidos por la selección "Shoe" en el campo Product.