# Set-modifierare som använder set-funktioner

Ibland behöver du definiera en uppsättning fältvärden med hjälp av en nästlad set-definition. Till exempel kanske du vill välja alla kunder som har köpt en viss produkt, utan att välja produkten.

I sådana fall använder du elementuppsättningsfunktionerna `P()` och `E()`. Dessa returnerar elementuppsättningar med möjliga värden respektive uteslutna värden för ett fält. Inom parenteserna kan du ange fältet i fråga och ett set-uttryck som definierar omfattningen. Exempel:

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

Det returnerar uppsättningen med kunder som har haft transaktioner under 2021. Du kan använda det här i en set-modifierare. Exempel:

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

Det här set-uttrycket kommer att välja dessa kunder men kommer inte att begränsa urvalet till 2021.

Dessa funktioner kan inte användas i andra uttryck.

Dessutom kan endast naturliga uppsättningar användas i elementuppsättningsfunktionerna. Det vill säga, en uppsättning med poster som definieras genom ett enkelt urval.

Till exempel kan den uppsättning som anges med `{1-$}` inte alltid definieras genom urval och det är därför inte en naturlig uppsättning. Användning av dessa funktioner med icke-naturliga uppsättningar returnerar oväntade resultat.

## Exempel: diagramuttryck för set-modifierare som använder set-funktioner

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

#### Exempel – diagramuttryck

Laddningsskript

Ladda följande data som en inline-laddning i Skriptredigeraren för att skapa diagramuttrycksexemplen nedan.

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

Mer information om hur du använder inline-laddningar finns i [Använda inline-laddningar för att ladda data](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Diagramuttryck

Skapa en tabell i ett Qlik Sense-ark med följande diagramuttryck.

Tabell – Set-modifierare som använder set-funktioner

| 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) |
| --- | --- | --- | --- | --- |
| Totalvärden | 41 | 10 | 17 | 13 |
| Kanada | 14 | 0 | 6 | 0 |
| Tjeckien | 10 | 10 | 10 | 0 |
| Frankrike | 4 | 0 | 1 | 0 |
| Tyskland | 13 | 0 | 0 | 13 |

Förklaring

* Dimensioner:

  * `Country`

* Mått:

  * `Sum(Amount)`

    Summa `Amount` utan set-uttryck.

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

    Summan `Amount` för länderna som är kopplade till året `2019`. Det kommer dock inte att begränsa beräkningen till `2019`.

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

    Summan `Amount` för produkterna som är kopplade till året `2019`. Det kommer dock inte att begränsa beräkningen till `2019`.

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

    Summan `Amount` för länderna som inte är kopplade till produkten `Washer`.

Set-modifierare som använder set-funktioner

Set-modifierare som använder set-funktioner

Set-modifierare som använder set-funktioner ![Set-modifierare som använder set-funktioner.](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_modifiers_set_functions.png)

Mer information om uttryck finns i [Använda uttryck i visualiseringar](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm).

| Exempel | Resultat |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Customer)&gt;} Sales ) | Returnerar försäljningen för det aktuella urvalet, men endast de kunder som någon gång har köpt produkten 'Shoe'. Elementfunktionen P( ) returnerar här en lista över möjliga kunder; de kunder som är inbegripna i urvalet 'Shoe' i fältet Product. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Enligt ovan. Om fältet utelämnas i elementfunktionen returnerar funktionen de möjliga värdena för fältet som angetts i den yttre tilldelningen. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Supplier)&gt;} Sales ) | Returnerar försäljningen för det aktuella urvalet, men endast de kunder som någon gång har levererat produkten ”Shoe”, d.v.s. kunden är även leverantör. Elementfunktionen P( ) returnerar här en lista över möjliga leverantörer; de kunder som är inbegripna i urvalet ''Shoe'' i fältet Product. Listan över leverantörer används sedan som ett urval i fältet Customer. |
| sum( {$&lt;Customer = E({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Returnerar försäljningen för det aktuella urvalet, men endast de kunder som aldrig har köpt produkten 'Shoe'. Elementfunktionen E() returnerar här en lista över uteslutna kunder; de kunder som valts bort i och med urvalet 'Shoe' i fältet Product. |