# Modificadores de conjunto que utilizan funciones de conjunto

A veces necesitamos definir un conjunto de valores de campo empleando una definición de conjunto anidada. Por ejemplo, es posible que desee seleccionar todos los clientes que han adquirido un producto específico, sin seleccionar el producto.

En tales casos, use las funciones del conjunto de elementos `P()` y `E()`. Estas devuelven los conjuntos de elementos de valores posibles y valores excluidos de un campo, respectivamente. Dentro de los paréntesis, puede especificar el campo en cuestión y una expresión de conjunto que defina el ámbito. Por ejemplo:

`P({1<Year = {2021}>} Customer)`

Esto devolverá el conjunto de clientes que tuvieron transacciones en 2021. Luego puede usar esto en un modificador de conjunto. Por ejemplo:

`Sum({<Customer = P({1<Year = {2021}>} Customer)>} Amount)`

Esta expresión de conjunto seleccionará a estos clientes, pero no restringirá la selección a 2021.

Estas funciones no podrán emplearse en otras expresiones.

Además, solo se pueden usar conjuntos naturales dentro de las funciones del conjunto de elementos. 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 mediante una selección y, por lo tanto, no es un conjunto natural. El uso de estas funciones en conjuntos no naturales arrojará resultados inesperados.

## Ejemplos: expresiones de gráfico para modificadores de conjunto que utilizan funciones de conjunto

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-implicit-field-value-definitions.htm)

#### Ejemplos: expresiones de gráfico

Script de carga

Cargue los datos siguientes como una carga inline en el editor de carga de datos para crear los ejemplos de expresión del gráfico a continuación.

```
MyTable:
Load 
Year(Date) as Year,
Date#(Date,'YYYY-MM-DD') as ISO_Date, 
Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, 
Country, Product, Amount 
Inline
[Date, Country, Product, Amount
2018-02-20, Canada, Washer, 6
2018-07-08, Germany, Anchor bolt, 10
2018-07-14, Germany, Anchor bolt, 3
2018-08-31, France, Nut, 2
2018-09-02, Czech Republic, Bolt, 1
2019-02-11, Czech Republic, Bolt, 3
2019-07-31, Czech Republic, Washer, 6
2020-03-13, France, Anchor bolt, 1
2020-07-12, Canada, Anchor bolt, 8
2020-09-16, France, Washer, 1];	
```

Para más información sobre el uso de cargas inline, vea [Usar cargas inline para cargar datos](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Expresiones de gráfico

Cree una tabla en una hoja de Qlik Sense con las siguientes expresiones de gráfico.

Tabla: Modificadores de conjunto que utilizan funciones de conjunto

| Country | Sum(Amount) | Sum({&lt;Country=P({&lt;Year={2019}&gt;}Country)&gt;} Amount) | Sum({&lt;Product=P({&lt;Year={2019}&gt;}Product)&gt;} Amount) | Sum({&lt;Country=E({&lt;Product={Washer}&gt;}Country)&gt;} Amount) |
| --- | --- | --- | --- | --- |
| Totales | 41 | 10 | 17 | 13 |
| Canadá | 14 | 0 | 6 | 0 |
| República Checa | 10 | 10 | 10 | 0 |
| Francia | 4 | 0 | 1 | 0 |
| Alemania | 13 | 0 | 0 | 13 |

Explicación

* Dimensiones:

  * `Country`

* Medidas:

  * `Sum(Amount)`

    Sum `Amount` sin una expresión de conjunto.

  * `Sum({<Country=P({<Year={2019}>} Country)>} Amount)`

    Sum `Amount` para los países que están asociados con el año `2019`. Sin embargo, no limitará el cálculo a `2019`.

  * `Sum({<Product=P({<Year={2019}>} Product)>} Amount)`

    Sum `Amount` para los productos que están asociados con el año `2019`. Sin embargo, no limitará el cálculo a `2019`.

  * `Sum({<Country=E({<Product={Washer}>} Country)>} Amount)`

    Sum `Amount` para los países que no están asociados con el producto `Washer`.

Modificadores de conjunto que utilizan funciones de conjunto

Modificadores de conjunto que utilizan funciones de conjunto

Modificadores de conjunto que utilizan funciones de conjunto ![Modificadores de conjunto que utilizan funciones de conjunto.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_modifiers_set_functions.png)

Para obtener más información sobre las expresiones, vea [Utilizar expresiones en las visualizaciones](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm).

| Ejemplos | Resultados |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Customer)&gt;} Sales ) | Devuelve las ventas de la selección actual, pero solo de los clientes que han comprado alguna vez 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( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;})&gt;} 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( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Supplier)&gt;} Sales ) | Devuelve las ventas de la selección actual, pero solo de los clientes que han suministrado alguna vez el producto "Shoe", es decir, que el cliente es también proveedor. 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( {$&lt;Customer = E({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Devuelve las ventas de la selección actual, pero solo de los clientes que nunca han comprado 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. |