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 wyliczanym wymiarze jako pól logicznych za pośrednictwem skryptu ładowania, jeśli to możliwe. CalcDim() oferuje sposób kontrolowania zachowania silnika w sytuacjach, w których ładowanie wyliczanego pola ze skryptu jest niemoż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 w tym polu, podobnie jak w przypadku 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”. Transformacja ta może być pożądana w celu zagwarantowania podobnego działania dla wszystkich wyliczanych wymiarów, w przypadku których model danych może uniemożliwić użycie pola wyliczanego w locie w niektórych sytuacjach, ale nie w innych.

Składnia:  

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

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.

Qlik Sense domyślnie decyduje automatycznie, czy utworzyć pola wewnętrzne w modelu danych i odwołać się do nich, gdy używane jest niestandardowe wyrażenie wymiaru. Qlik Sense tworzy i wykorzystuje te wewnętrzne pola, gdy tylko 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 zastosowania 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 należy użyć 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 aplikacji. Na przykład wolisz wyświetlać wybory pól jako wybory w polach z oryginalnego modelu danych, a nie 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 wykorzystującej ten wymiar zostanie przetworzone i wyświetlone jako wybór w powiązanej wartości pola Year z modelu danych.

I odwrotnie, powiedzmy, że nie opakowujesz wyrażenia w CalcDim(). W tym przypadku wyglądałoby to następująco:

=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 — Praktyczne zastosowanie do modyfikacji domyślnego działania

Dowiedz się więcej

 

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