# Modyfikatory zestawów z wykorzystaniem funkcji zestawu

Czasami trzeba zdefiniować zestaw wartości pól za pomocą zagnieżdżonej definicji zestawu. Na przykład możesz chcieć wybrać wszystkich klientów, którzy kupili określony produkt, bez wybierania produktu.

W takich przypadkach użyj funkcji zestawu elementów `P()` i `E()`. Zwracają one zestawy elementów z odpowiednio możliwymi i wykluczonymi wartościami pola. W nawiasie możesz określić dane pole oraz wyrażenie zestawu, które definiuje zakres. Na przykład:

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

Spowoduje to zwrócenie zestawu klientów, którzy mieli transakcje w 2021 r. Możesz następnie użyć tego w modyfikatorze zestawu. Na przykład:

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

To wyrażenie zestawu wybierze tych klientów, ale nie ograniczy wyboru do 2021 r.

Funkcji tych nie można używać w innych wyrażeniach.

Dodatkowo wewnątrz funkcji zestawu elementów można stosować tylko zestawy naturalne. Jest to zestaw rekordów, które można zdefiniować za pomocą prostego wyboru.

Przykład: zestaw zdefiniowany przez `{1-$}` nie może zawsze być określony poprzez wybór, nie jest więc zestawem naturalnym. Użycie tych funkcji w odniesieniu do zestawów innych niż naturalne zwróci nieoczekiwane wyniki.

## Przykłady: wyrażenia wykresu dla modyfikatorów zestawu z funkcjami zestawu

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

#### Przykłady — wyrażenia wykresu

Skrypt ładowania

Załaduj następujące dane w edytorze ładowania danych jako ładowanie wbudowane, aby utworzyć poniższe przykłady wyrażeń wykresu:

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

Aby uzyskać więcej informacji o ładowaniu wbudowanym, zobacz temat [Używanie wbudowanych ładowań do ładowania danych](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Wyrażenia wykresu

Utwórz tabelę w arkuszu Qlik Sense z następującymi wyrażeniami wykresu

Tabela — wyrażenia zestawu z wykorzystaniem funkcji zestawu

| Kraj | Suma(Kwota) | Suma({&lt;Kraj=P({&lt;Rok={2019}&gt;}Kraj)&gt;} Kwota) | Suma({&lt;Produkt=P({&lt;Rok={2019}&gt;}Produkt)&gt;} Kwota) | Suma({&lt;Kraj=E({&lt;Produkt={Washer}&gt;}Kraj)&gt;} Kwota) |
| --- | --- | --- | --- | --- |
| Sumy | 41 | 10 | 17 | 13 |
| Kanada | 14 | 0 | 6 | 0 |
| Czechy | 10 | 10 | 10 | 0 |
| Francja | 4 | 0 | 1 | 0 |
| Niemcy | 13 | 0 | 0 | 13 |

Objaśnienie

* Wymiary:

  * `Country`

* Miary:

  * `Sum(Amount)`

    Suma `Amount` bez wyrażenia zestawu.

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

    Suma `Amount` dla krajów powiązanych z rokiem `2019`. Nie ograniczy to jednak obliczeń do `2019`.

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

    Suma `Amount` dla produktów związanych z rokiem `2019`. Nie ograniczy to jednak obliczeń do `2019`.

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

    Suma `Amount` dla krajów, które nie są powiązane z produktem `Washer`.

Modyfikatory zestawu z wykorzystaniem funkcji zestawu

Modyfikatory zestawu z wykorzystaniem funkcji zestawu

Modyfikatory zestawu z wykorzystaniem funkcji zestawu ![Modyfikatory zestawów z wykorzystaniem funkcji zestawu.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_modifiers_set_functions.png)

Więcej informacji o wyrażeniach zawiera temat [Używanie wyrażeń w wizualizacjach](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm).

| Przykłady | Wyniki |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Customer)&gt;} Sales ) | Zwraca wartość sprzedaży dla bieżącego wyboru, ale tylko tych klientów, którzy co najmniej raz kupili produkt „Shoe”. W tym przypadku funkcja elementowa P() zwraca listę możliwych klientów, których wskazuje wybór „Shoe” w polu Product. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Tak samo jak powyżej. Jeśli pole w funkcji elementowej zostanie pominięte, funkcja zwróci możliwe wartości pola wskazanego w przypisaniu zewnętrznym. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Supplier)&gt;} Sales ) | Zwraca wartość sprzedaży dla bieżącego wyboru, ale tylko tych klientów, którzy co najmniej raz dostarczyli produkt „Shoe”. To znaczy, ze klient jest również dostawcą. W tym przypadku funkcja elementowa P() zwraca listę możliwych dostawców, których wskazuje wybór „Shoe” w polu Product. Lista dostawców jest następnie stosowana jako wybór w polu Customer. |
| sum( {$&lt;Customer = E({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | Zwraca wartość sprzedaży dla bieżącego wyboru, ale tylko tych klientów, którzy nigdy nie kupili produktu „Shoe”. W tym przypadku funkcja elementowa E() zwraca listę klientów wykluczonych wyborem produktu „Shoe” w polu Product. |