Tableau Prep - modelowanie danych
Praca na Tableau Server i Tableau Cloud
Poniższy artykuł prezentuje wybrane kalkulacje warunkowe (LOGICAL) oraz ich zastosowanie w Tableau.
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).
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.
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.
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.
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.
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')
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ą.
Funkcja ISNULL
zwraca TRUE w przypadku braku wartości, tj. NULL.
ISNULL(expression)
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