CalcDim — funkcja wykresu | Qlik Sense w systemie Windows Pomoc
Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

CalcDim — funkcja wykresu

W wyrażeniu wymiaru funkcja CalcDim() zastępuje automatyczną interpretację aparatu dotyczącą wewnętrznej obsługi wyrażenia. W szczególności funkcja zapobiega tworzeniu nowego pola wewnętrznego w modelu danych. Zamiast tego, wybory dokonane w aplikacji są traktowane jak wybory w odpowiednich polach oryginalnego modelu danych.

Tej funkcji nie można używać w skrypcie ładowania. Ponadto najlepszą praktyką w zakresie wydajności systemu jest ładowanie pól używanych w wymiarze wyliczanym jako pól logicznych za pośrednictwem skryptu ładowania, jeśli to możliwe. CalcDim() oferuje sposób kontrolowania zachowania silnika w scenariuszach, w których ładowanie pola wyliczanego ze skryptu nie jest możliwe.

W Qlik Sense wyrażenie wymiaru jest domyślnie realizowane jako „pole w locie”, czyli jako rzeczywiste, tworzone na żądanie pole widoczne na bieżącym pasku wyboru. Wybory są stosowane i wnioskowane do tego pola, podobnie jak do każdego pola logicznego ze skryptu.

Wyrażenie opakowane w CalcDim() będzie działać tak samo jak wszystkie wyrażenia wymiaru wyliczanego działają w QlikView, co polega na doraźnym mapowaniu wyliczanych wartości na bazowe wartości pola źródłowego. Wszystkie obliczenia „pola w locie” można przenieść do wymiarów wyliczanych za pomocą funkcji CalcDim(), ponieważ wymiar wyliczany musi spełniać mniej wymagań opartych na modelu danych niż odpowiadające mu obliczenia „pola w locie”. Ta transformacja może być pożądana w celu zagwarantowania podobnego zachowania dla wszystkich wymiarów wyliczanych, gdzie model danych może uniemożliwiać użycie obliczenia pola tymczasowego w niektórych przypadkach, ale nie w innych.

CalcDim(expr)

Typ zwracanych danych: Dual

Argumenty
Argument Opis
expr

Wyrażenie używane jako wymiar lub jako segment w wyrażeniu wymiaru.

Kiedy używać

Funkcja CalcDim() jest przydatna, gdy potrzebna jest większa kontrola nad sposobem, w jaki silnik Qlik obsługuje pola wywoływane w wyrażeniu wymiaru.

Domyślnie Qlik Sense automatycznie decyduje, czy tworzyć i odwoływać się do pól wewnętrznych w modelu danych, gdy używasz niestandardowego wyrażenia wymiaru. Qlik Sense tworzy i używa tych pól wewnętrznych zawsze, gdy jest to możliwe. Jeśli nie jest to możliwe, wyrażenie jest obsługiwane w odniesieniu do istniejących pól modelu danych, na których się opiera.

W zależności od przypadku użycia, to automatyczne przetwarzanie może nie zawsze być pożądane. Na przykład, jeśli używasz zmiennej w wyrażeniu wymiaru, automatyczne tworzenie nowych pól może stać się problematyczne. W takim przypadku użyj CalcDim(), aby wymusić obsługę wyrażenia bez tej metody.

Oto najczęstsze zastosowania:

  • Zawartość QlikView została zmigrowana do Qlik Sense i chcesz zachować metodę przetwarzania QlikView dla wyliczanych wymiarów.

  • Chcesz uprościć działanie wyboru w swojej aplikacji. Na przykład wolisz wyświetlać wybory pól jako wybory w polach z oryginalnego modelu danych, a nie jako wybory w nowych polach.

  • Ta sytuacja wymaga wyrażenia ad-hoc w celu zapewnienia spójności i wydajności. Na przykład, jeśli wyrażenie wymiaru zawiera kontrolowane przez użytkownika dynamiczne parametry wizualizacji, takie jak kontrolowane formatowanie, wartości odcięcia lub okresy.

Przykłady funkcji
Przykład Wynik
=CalcDim(if(Year < 2023, 'Older', Year))

Dokonanie wyboru w wizualizacji, która używa tego wymiaru, zostanie przetworzone i wyświetlone jako wybór w powiązanej wartości pola Year z modelu danych.

I odwrotnie, załóżmy, że nie zawijasz wyrażenia w CalcDim(). W tym przypadku wyglądałoby to tak:

=if(Year < 2023, 'Older', Year)

Dokonanie wyboru w powyższym wyrażeniu zostałoby przetworzone i wyświetlone jako wybór w wewnętrznym polu =if(Year < 2023, 'Older', Year), które nie znajduje się w modelu danych.

Przykład 1 – Proste porównanie

Przykład 2 – Praktyczny przypadek użycia do modyfikacji domyślnego zachowania

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ć!