Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Zewnętrzne wyrażenia zestawu z rozszerzeniami przez znak dolara

Gdy jedno (lub więcej) rozszerzeń przez znak dolara jest używane w większym wyrażeniu, każde rozszerzenie przez znak dolara zostanie obliczone w izolacji, zanim wynik zostanie wstawiony do reszty wyrażenia. Jedną z konsekwencji tej metody oceny jest to, że wyrażenia zestawu poza wyrażeniem rozszerzonym o znak dolara nie będą miały wpływu na wynik. Powoduje to efekt podwójnej oceny informacji w wyrażeniu.

Przykład — sposób obliczania wyrażeń zawierających zewnętrzne wyrażenie zestawu i rozszerzenia przez znak dolara

Załóżmy, że masz następujące przykładowe wyrażenie:

{<Year={2024}>} $(=Sum(Sales))

W powyższym wyrażeniu znajduje się wyrażenie zestawu, które wybiera wartości Year z 2024: {<Year={2024}>}. Kiedy jest obliczane całe to przykładowe wyrażenie, to wyrażenie zestawu nie jest stosowane.

Zamiast tego najpierw obliczane jest wyrażenie z rozszerzeniem przez znak dolara $(=Sum(Sales)).

W tym przykładzie załóżmy, że Sum(Sales) daje wynik 1500311. Podczas obliczania wyrażenia {<Year={2024}>} $(=Sum(Sales)) liczba ta jest wstawiana do otaczającego wyrażenia. Ta kolejność oceny skutkuje następującą częściowo ocenioną konfiguracją (zauważ, że nie jest to użyteczne wyrażenie Qlik Sense i zostało pokazane tylko w celu zademonstrowania kolejności oceny):

{<Year={2024}>} 1500311

Następnie wyrażenie {<Year={2024}>} 1500311 jest oceniane jako całość. Wyrażenie zestawu {<Year={2024}>} nie ma żadnego wpływu, ponieważ wyrażenie po jego prawej stronie jest po prostu liczbą, a nie żadnym typem wyrażenia zagregowanego.

W związku z tym, używając wartości Sum(Sales) podanej powyżej w przykładzie, obliczony wynik dla całego wyrażenia {<Year={2024}>} $(=Sum(Sales)) wynosiłby 1500311.

Tworzenie wyrażenia z części

Użycie w wyrażeniu rozszerzenia przez znak dolara powoduje efekt podwójnej oceny. Możesz skorzystać z tego efektu podwójnej oceny, budując wyrażenie przy użyciu części.

Przykład

Załóżmy, że masz następujące przykładowe wyrażenie:

{<Year={2024}>} $(='Sum(' & 'Sales' & ')')

W pierwszej rundzie oceny jest oceniane rozszerzenie przez znak dolara $(='Sum(' & 'Sales' & ')'). Na tym etapie trzy ciągi są łączone w jeden ciąg 'Sum(Sales)'. Ponieważ jest to ciąg znaków, a nie wyrażenie, wyrażenie wewnątrz nie jest w tym momencie obliczane.

Na tym etapie oceny wyrażenie jest interpretowane przez Qlik Sense następująco:

{<Year={2024}>} Sum(Sales)

W tym przypadku zewnętrzne wyrażenie analizy zestawu zostanie zastosowane do agregacji Sum, ponieważ teraz utworzyliśmy normalne wyrażenie, a nie tylko liczbę (jak w pierwszym przykładzie). Należy zauważyć, że znaki cudzysłowu objęły pierwszą rundę oceny, dzięki czemu wyrażenie zostało zachowane (i konkatenowane za pomocą &) do drugiej rundy oceny.

Wyszukiwanie zmiennych

W przypadku użycia rozszerzenia przez znak dolara w celu wyszukania zmiennej zawartość zmiennej jest wstawiana do otaczającego wyrażenia przed obliczeniem tej zawartości.

Przykład

Załóżmy, że masz następujące przykładowe wyrażenie:

{<Year={2024}>} $(Var1)

W tym przykładzie zawartość zmiennej Var1 zostanie wstawiona do otaczającego ją wyrażenia, zanim ta zawartość zostanie obliczona.

Wynik A — definicja zmiennej bez znaku równości

Jeśli zmienna Var1 jest zdefiniowana jako Sum(Sales), to po rozszerzeniu wyglądałaby tak (zauważ, że poniższa konfiguracja jest częściowo obliczonym wyrażeniem):

{<Year={2024}>} Sum(Sales)

Okno dialogowe zmiennych pokazujące definicję i wartość zmiennej Var1, gdy znak równości nie jest umieszczony na początku definicji zmiennej.

Okno dialogowe zmiennych pokazujące definicję i wartość zmiennej Var1, gdy znak równości nie jest umieszczony na początku definicji zmiennej (którą jest Sum Sales).

W tym przykładzie zostanie więc zastosowane zewnętrzne wyrażenie zestawu {<Year={2024}>}.

Wynik B — definicja zmiennej ze znakiem równości

Z drugiej strony, jeśli definicja w Var1 zaczyna się od znaku równości — czyli =Sum(Sales) — zewnętrzne wyrażenie zestawu nie jest stosowane. Dzieje się tak, ponieważ znak równości powoduje, że zmienna wyrażenia jest obliczana z wyprzedzeniem i w izolacji. Prowadzi to do wyniku podobnego jak w pierwszym przykładzie, w którym istnieje zewnętrzne wyrażenie zestawu do obliczenia wraz z liczbą, które nie zwraca użytecznego wyniku.

Okno dialogowe zmiennych pokazujące definicję i wartość zmiennej Var1, gdy znak równości jest umieszczony na początku definicji zmiennej.

Okno dialogowe zmiennych pokazujące definicję i wartość zmiennej Var1, gdy znak równości jest umieszczony na początku definicji zmiennej (którą jest Sum Sales).

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!