# Set-modificaties die gebruikmaken van set-functies

Soms moet u een set met veldwaarden definiëren met behulp van een geneste set-definitie. U wilt mogelijk alle klanten selecteren die een specifiek product hebben geselecteerd, zonder het product te selecteren.

In dergelijke gevallen gebruikt u de elementsetfuncties `P()` en `E()`. Deze retourneren de elementsets van mogelijke waarden en uitgesloten waarden van een veld. Binnen de haakjes kunt u het desbetreffende veld opgeven en een set-uitdrukking die het bereik definieert. Bijvoorbeeld:

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

Deze retourneert een set van klanten met transacties in 2021. U kunt deze vervolgens gebruiken in een set-modificatie. Bijvoorbeeld:

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

Deze set-uitdrukking selecteert vervolgens deze klanten, maar beperkt de selectie niet tot 2021.

Deze functies kunnen niet worden gebruikt in andere uitdrukkingen.

Bovendien kunnen alleen natuurlijke sets worden gebruikt in de elementsetfuncties. Met andere woorden een set records die met een eenvoudige selectiebewerking kan worden gedefinieerd.

Bijvoorbeeld, de set van `{1-$}` kan niet altijd door middel van een selectie worden gedefinieerd en is dan ook geen natuurlijke set. Als deze functies op niet-natuurlijke sets worden gebruikt, worden er onverwachte resultaten geretourneerd.

## Voorbeelden: dagramuitdrukkingen voor set-modificaties die gebruikmaken van setfuncties

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

#### Voorbeelden - Diagramuitdrukkingen

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens om de onderstaande voorbeelden van diagramuitdrukkingen te maken.

```
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];	
```

Voor meer informatie over inline loads, raadpleegt u [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Diagramuitdrukkingen

Maak een tabel in een Qlik Sense-werkblad met de volgende diagramuitdrukkingen.

Tabel - Set-modificaties die gebruikmaken van setfuncties

| Land | 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) |
| --- | --- | --- | --- | --- |
| Totalen | 41 | 10 | 17 | 13 |
| Canada | 14 | 0 | 6 | 0 |
| Tsjechië | 10 | 10 | 10 | 0 |
| Frankrijk | 4 | 0 | 1 | 0 |
| Duitsland | 13 | 0 | 0 | 13 |

Uitleg

* Dimensies:

  * `Country`

* Metingen:

  * `Sum(Amount)`

    Sum `Amount` zonder set-uitdrukking.

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

    Sum `Amount` voor de landen die zijn gekoppeld aan het jaar `2019`. Hiermee wordt de berekening voor `2019` echter niet beperkt.

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

    Sum `Amount` voor de producten die zijn gekoppeld aan het jaar `2019`. Hiermee wordt de berekening voor `2019` echter niet beperkt.

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

    Sum `Amount` voor de landen die niet zijn gekoppeld aan het product `Washer`.

Set-modificaties die gebruikmaken van set-functies

Set-modificaties die gebruikmaken van set-functies

Set-modificaties die gebruikmaken van set-functies ![Set-modificaties die gebruikmaken van set-functies.](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_modifiers_set_functions.png)

Zie [Uitdrukkingen gebruiken in visualisaties](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm) voor meer informatie over uitdrukkingen.

| Voorbeelden | Resultaten |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Customer)&gt;} Sales ) | Retourneert de verkoop voor de huidige selectie, maar alleen de klanten die ooit het product 'Shoe' gekocht hebben. De elementfunctie P( ) retourneert hier een lijst met mogelijke klanten; de klanten die worden geïmpliceerd door de selectie 'Shoe' in het veld Product. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Hetzelfde als hierboven. Als het veld in de elementfunctie wordt weggelaten, retourneert de functie de mogelijke waarden van het veld dat is opgegeven in de outer-toewijzing. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Supplier)&gt;} Sales ) | Retourneert de verkoop voor de huidige selectie, maar alleen de klanten die ooit het product 'Shoe' geleverd hebben. De klant is dus ook een leverancier. De elementfunctie P( ) retourneert hier een lijst met mogelijke leveranciers; de leveranciers die worden geïmpliceerd door de selectie 'Shoe' in het veld Product. De lijst met leveranciers wordt vervolgens gebruikt als selectie in het veld Customer. |
| sum( {$&lt;Customer = E({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Retourneert de verkoop voor de huidige selectie, maar alleen de klanten die nooit het product 'Shoe' hebben gekocht. De elementfunctie E( ) retourneert hier een lijst met uitgesloten klanten; de klanten die worden uitgesloten door de selectie 'Shoe' in het veld Product. |