Pierwsze kroki z Tableau

Podłączanie do danych

Tableau Prep - modelowanie danych

Podstawowe funkcjonalności

Wizualizacje i wykresy

Dashboard & Story

Kalkulacje

Formatowanie

Sety

Parametry

Praca na Tableau Server i Tableau Cloud

Udostępnianie & współpraca

Tips&Tricks

Strefa dla klientów Tableau

FAQ

Ankieta - kolejne treści

Kalkulacje LOGICAL

Poniższy artykuł prezentuje wybrane kalkulacje warunkowe (LOGICAL) oraz ich zastosowanie w Tableau.

Czym są funkcje warunkowe?

Funkcje logiczne sprawdzają, czy określony warunek jest prawdziwy czy fałszywy. Budowane są w oparciu o wyrażenia (ang. Expressions). Przykładem jest kalkulacja:

[Profit] > 0

Pokazuje ona czy Profit był wyższy od zera (TRUE) lub niższy (FALSE).

Budowanie kalkulacji warunkowych

CASE

Funkcja CASE przeprowadza logiczne testy, a następnie zwraca odpowiednie wartości. Jest alternatywą dla funkcji IF/IIF. W przypadku bardziej złożonych obliczeń funkcja ta jest bardziej zwięzła.

CASE <expression>
WHEN <value1> THEN <return1>
WHEN <value2> THEN <return2>
...
ELSE <default return>
END

Przykład:

CASE [Region] WHEN 'North' THEN 1 WHEN 'South' THEN 2 ELSE 3 END

✔ Wynik - wyrażenie testuje wartości w polu Region. Dla rekordów North oraz South zostały odpowiednio przypisane wartości 1 i 2. W przypadku niespełnienia warunku, prezentowana jest wartość 3.

IN

Funkcja IN zwraca wartość TRUE, jeżeli <expr1> znajduje się w <expr2>. Mogą one przyjąć formę listy wartości, setów lub pól łączonych.

<expr1> IN <expr2>

Przykład 1:

"Central" IN [Region Set] = TRUE

✔ Wynik - funkcja sprawdza czy wartość Central znajduje się w polu Region Set i zwraca wartość TRUE.

Może też działać jako operator do grupowania danych.

Przykład 2:

CASE [Segment]
WHEN IN('Corporate','Home Office') THEN 'B2B'
ELSE 'B2C'
END

✔ Wynik - funkcja sprawdza czy wartości Corporate lub Home Office znajdują się w polu Segment i zwraca dla nich wartość B2B. Dla pozostałych wartości w Segment zwraca wartość B2C.

IF

Funkcja IF testuje serię wyrażeń zwracając wartość <then> w przypadku pierwszego spełnionego wyrażenia.

IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END

Przykład:

IF SUM([Profit]) > 0 THEN "Zysk" ELSE "Strata" END

✔ Wynik - w przypadku, gdy Profit kształtuje się powyżej zera, przypisana zostaje wartość Zysk. W innym przypadku zostaje wpisana wartość Strata.

IFNULL

Funkcja IFNULL zwraca <expr1> w przypadku braku wartości NULL, w innym przypadku zwraca <expr2>.

IFNULL(expr1, expr2),

Przykład:

IFNULL([Profit], 0)

✔ Wynik - gdy Profit wskazuje NULL, kalkulacja zamienia to na wartość 0.

IIF

Funkcja IIF sprawdza, czy warunek został spełniony, następnie zwraca jedną wartość w momencie TRUE, kolejną w przypadku FALSE i trzecią opcjonalną lub NULL w przypadku braku wyniku.

IIF(test, then, else, [unknown])

Przykład:

IIF([Profit] > 0, ' Zysk ', 'Strata')

ISDATE

Funkcja ISDATE zwraca wartość TRUE, jeżeli podany String jest poprawnie zapisaną datą.

ISDATE(string)

Przykład:

ISDATE(“11-11-2021") = TRUE

✔ Wynik TRUE - oznacza, że wartość 11-11-2021 jest poprawnie zapisaną datą.

ISNULL

Funkcja ISNULL zwraca TRUE w przypadku braku wartości, tj. NULL.

ISNULL(expression)

MAX

Funkcja MAX zwraca największy wynik z wyrażenia pośród wszystkich rekordów (w przypadku funkcji agregującej) lub większą wartość z dwóch kolumn.

MAX(expression)
MAX(expr1, expr2)

Przykład:

MAX([Sales]) //funkcja agregująca wartości
MAX([Purchase cost],[Discount]) //funkcja zwróci większą wartość z dwóch kolumn