# Modyfikatory zestawów z rozszerzeniami przez znak dolara

Rozszerzenia przez znak dolara to konstrukcje, które są obliczane przed przeanalizowaniem i oceną wyrażenia. Wynik jest następnie wstawiany do wyrażenia zamiast `$(…)`. Wyrażenie jest następnie obliczane na podstawie wyniku rozszerzenia przez znak dolara.

Edytor wyrażeń wyświetla podgląd rozszerzenia przez znak dolara, dzięki czemu można sprawdzić jego rezultat.

Podgląd rozszerzenia przez znak dolara w edytorze wyrażeń

Podgląd rozszerzenia przez znak dolara w edytorze wyrażeń

Podgląd rozszerzenia przez znak dolara w edytorze wyrażeń ![Podgląd rozszerzenia przez znak dolara w edytorze wyrażeń.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_expansion_preview.png)

Użyj rozszerzeń przez znak dolara, jeśli chcesz skorzystać z obliczenia w swoim zestawie elementów.

Jeśli na przykład chcesz spojrzeć tylko na ostatni możliwy rok, możesz użyć następującej konstrukcji:

`<Year = {$(=Max(Year))}>`

`Max(Year)` jest obliczane w pierwszej kolejności, a wynik jest wstawiany do wyrażenia zamiast `$(…)`.

Wynik po rozszerzeniu przez znak dolara będzie wyrażeniem takim jak:

`<Year = {2021}>`

Wyrażenie wewnątrz rozszerzenia przez znak dolara jest obliczane na podstawie bieżącego wyboru. Oznacza to, że jeśli masz wybór w innym polu, wpłynie to na wynik wyrażenia.

Jeśli chcesz, aby obliczenie było niezależne od wyboru, użyj analizy zestawu w rozszerzeniu przez znak dolara. Na przykład:

`<Year = {$(=Max({1} Year))}>`

## Ciągi znaków

Jeśli chcesz, aby rozszerzenie przez znak dolara dało w wyniku ciąg znaków, obowiązują normalne zasady używania cudzysłowów. Na przykład:

`<Country = {'$(=FirstSortedValue(Country,Date)'}>`

Wynik po rozszerzeniu przez znak dolara będzie wyrażeniem takim jak:

`<Country = {'New Zealand'}>`

Jeśli nie użyjesz cudzysłowów, wystąpi błąd składni.

## Liczby

Jeśli chcesz, aby rozszerzenie przez znak dolara dało w wyniku liczbę, rozszerzenie musi mieć takie samo formatowanie jak pole. Oznacza to, że czasami trzeba opakować wyrażenie w funkcję formatującą.

Na przykład:

`<Amount = {$(=Num(Max(Amount), '###0.00'))}>`

Wynik po rozszerzeniu przez znak dolara będzie wyrażeniem takim jak:

`<Amount = {12362.00}>`

Użyj skrótu, aby wymusić używanie przez rozszerzenie zawsze przecinka dziesiętnego bez separatora tysięcy. Na przykład:

`<Amount = {$(#=Max(Amount))}>`

## Daty

Jeśli chcesz, aby rozszerzenie przez znak dolara dało w wyniku datę, rozszerzenie musi mieć prawidłowe formatowanie. Oznacza to, że czasami trzeba opakować wyrażenie w funkcję formatującą.

Na przykład:

`<Date = {'$(=Date(Max(Date)))'}>`

Wynik po rozszerzeniu przez znak dolara będzie wyrażeniem takim jak:

`<Date = {'12/31/2015'}>`

Podobnie jak w przypadku ciągów musisz użyć prawidłowych cudzysłowów.

Typowym zastosowaniem jest ograniczenie obliczeń do ostatniego miesiąca (lub roku). Następnie możesz użyć wyszukiwania liczbowego w połączeniu z funkcją `AddMonths()`.

Na przykład:

`<Date = {">=$(=AddMonths(Today(),-1))"}>`

Wynik po rozszerzeniu przez znak dolara będzie wyrażeniem takim jak:

`<Date = {">=9/31/2021"}>`

Spowoduje to wybranie wszystkich zdarzeń, które wystąpiły w ostatnim miesiącu.

## Przykład: wyrażenia wykresu dla modyfikatorów zestawu z rozszerzeniami przez znak dolara

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-dollar-sign-expansions.htm)

#### Przykład — 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:

```
Let vToday = Today();
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
2021-10-15, 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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Wyrażenia wykresu z rozszerzeniami przez znak dolara

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

Tabela — modyfikatory zestawów z rozszerzeniami przez znak dolara

| Kraj | Sum (Kwota) | Sum({&lt;US\_Date={'$(vToday)'}&gt;} Kwota) | Sum({&lt;ISO\_Date={"$(=Date(Min(ISO\_Date),'YYYY-MM-DD'))"}&gt;} Kwota) | Sum({&lt;US\_Date={"&gt;=$(=AddYears(Max(US\_Date),-1))"}&gt;} Kwota) |
| --- | --- | --- | --- | --- |
| Sumy | 41 | 1 | 6 | 1 |
| Kanada | 14 | 0 | 6 | 0 |
| Czechy | 10 | 0 | 0 | 0 |
| Francja | 4 | 1 | 0 | 1 |
| Niemcy | 13 | 0 | 0 | 0 |

Objaśnienie

* Wymiary:

  * `Country`

* Miary:

  * `Sum(Amount)`

    Suma `Amount` bez wyrażenia zestawu.

  * `Sum({<US_Date={'$(vToday)'}>}Amount)`

    Suma `Amount` dla wszystkich rekordów, w których wartość `US_Date` jest taka sama jak w zmiennej `vToday`.

  * `Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>}Amount)`

    Suma `Amount` dla wszystkich rekordów, w których wartość `ISO_Date` jest taka sama jak pierwsza (najmniejsza) możliwa wartość `ISO_Date`. Funkcja `Date()` jest potrzebna, aby zapewnić zgodność formatu daty z formatem pola.

  * `Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>}Amount)`

    Suma `Amount` dla wszystkich rekordów, które mają `US_Date` po lub na rok przed najpóźniejszą (największą) możliwą datą `US_Date`. Funkcja `AddYears()` zwróci datę w formacie określonym przez zmienną `DateFormat`, która musi być zgodna z formatem pola `US_Date`.

Modyfikatory zestawów z rozszerzeniami przez znak dolara

Modyfikatory zestawów z rozszerzeniami przez znak dolara

Modyfikatory zestawów z rozszerzeniami przez znak dolara ![Modyfikatory zestawów z rozszerzeniami przez znak dolara.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_dollar_expansion.png)

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

| Przykłady | Wyniki |
| --- | --- |
| sum( {$&lt;Year = {$(#vLastYear)}&gt;} Sales ) | Zwraca wartość sprzedaży z roku poprzedzającego bieżącą selekcję. W tym przykładzie rozszerzenie przez znak dolara obejmuje zmienną vLastYear zawierającą odpowiedni rok. |
| sum( {$&lt;Year = {$(#=Only(Year)-1)}&gt;} Sales ) | Zwraca wartość sprzedaży z roku poprzedzającego bieżącą selekcję. W tym przykładzie rozszerzenie przez znak dolara jest używane do obliczenia poprzedniego roku. |