Table Calculations

Ten poradnik o Table Calculations umożliwi Ci bezproblemowe poruszanie się w tych kalkulacjach. Szczegółowo omawiamy następujące tematy:

Czym są kalkulacje Grand Totals oraz Sub-Totals?

Są to bodaj najprostsze z możliwych dostępnych kalkulacji. Przeprowadzają one operacje agregujące dla kolumn lub/i wierszy. Może być to suma, średnia, wartość minimalna oraz wartość maksymalna. Dodatkowo, mając do dyspozycji podkategorie można również i do nich obliczyć wartości Totals. Całość jest szczególnie użyteczna, nie wymaga ręcznego obliczania wartości ani tworzenia pól kalkulacyjnych. Dodatkowo, można ją w wieloraki sposób formatować.

Użycie najprostszych Table Calculations

Istnieją dwa sposoby, żeby pokazać te kalkulacje na widoku. Można to zrobić przez panel Analytics. Tam znajduje się opcja Totals w kolumnie Summarize. Po przesunięciu okazują się naszym oczom trzy opcje dodania tej kalkulacji.

        Table Calculations

  1. Subtotals – agregacja na poszczególne podkategorie, pokazująca się pod każdą z nich
  2. Column Grand Totals – agregacja kolumn pojawiająca się z lewej lub prawej strony
  3. Row Grand Totals – agregacja wierszy pojawiająca się u góry lub na dole tabeli

    grand totals

Kolejny sposobem dodawania Totals do wizualizacji jest wybór ich z górnego paska. Tam klikamy Analysis -> Totals i wybieramy pożądaną przez nas agregacje.

Tutaj również widoczne są trzy opcje, znajdujące się w panelu Analytics. Dodatkowo jednak, można tutaj znaleźć opcje konfiguracji, niewidoczne z panelu. Wartym nadmienienia jest sytuacja, w której użytkownik dysponuje długą tabelą z wieloma wierszami. Wtedy szczególnie przydatna jest opcja pokazania Totals w lewym górnym rogu dla zapewnienia odpowiedniej czytelności.

Użycie Sub-Totals dla wybranych wymiarów

W momencie wyliczenia Sub-Totals dla interesującego nas wymiaru, możemy natknąć się na sytuację, w której opcja ta jest wyszarzana, jak w przykładzie poniżej.

sub totals

Wystarczy wtedy dodać Sub-Totals do każdego wymiaru przez Analysis -> Totals -> Add All Sub-Totals, a później odznaczyć nieinteresujące na kategorie.

Agregacje i Grand Totals

Wartym zaznaczenia jest, że przy opcji Automatic, Tableau wylicza wartości bez agregacji widocznej na wizualizacji. Używa surowych danych ze źródła. Po wybraniu jednak opcji poniżej, operuje na zagregowanych wartościach.

Rozpatrzmy poniższy przypadek.

grand totals

Rysunek 1. Wartość Grand Total ustawiona na Automatic.

grand totals

Rysunek 2. Wartość Grand Total ustawiona na AVG,

 

Widać zatem wyraźnie, że przykładzie drugim, Tableau wylicza wartości z równania:

równanie

Gdy jednak przy wartości opcji Automatic, wartości wyliczane są z całego zbioru danych na źródle, co daje bliższy prawdzie wynik.

Inne wartości dla Totals przy użyciu komendy Size()

Gdy istnieje potrzeba zawarcia w raporcie jak największej informacji, przy jednoczesnym braku miejsca, przydatne może okazać się kalkulacji z użyciem Size(). Pozwala ona zawrzeć w wierszu Total informacji o wartościach niebędących w samej tabeli.

Dla przykładu:

komenda size

Tak wyglądająca tabela nie wydaje się mieć zbyt dużo sensu. Wartości z poszczególnych wierszy nie sumują się do tego, co jest w Total. Jednak ideą było tutaj zawrzeć dwie różne informacje. W widoku zawarta jest tylko jedna miara, a raczej utworzone wcześniej pole kalkulowane, którego kod wygląda tak:

table calculations

Komenda SIZE() zwraca ilość wierszy w partycji. Jeżeli obliczana jest za pomocą kalkulacji takiej jak Table (across then down), to dla każdego wiersza kalkulacja pokaże maksymalną wartość profitu. Dla Total będzie to równocześnie zsumowana wartość Sales. Tym sposobem można zawrzeć te dwie informację na jednej tabeli, co może oszczędzić sporo miejsca.

Konfiguracja Totals

konfiguracja totals

W powyższym obrazku widzimy dwie opcje konfiguracji, jeżeli chodzi o położenie kolumny/wiersza kalkulacyjnego. Może on się znajdować u góry, na dole, z prawej lub z lewej. Przy rozwinięciu Total All Using, otrzymujemy poniższe opcje:

table calculations

Widać zatem jakiej agregacji ma dokonywać Tableau dla poszczególnego wiersza.

Można również formatować wygląd kolumn i wierszy w panelu, klikając Format, po naciśnięciu PPM.

Kiedy można używać Grand Totals oraz Sub-Totals?

Warunki jakie muszą zostać spełnione przy użyciu obu tych opcji są klarowne i wynikają raczej z charakteru kalkulacji. Warunki to:

  • Muszą występować etykiety Header w kolumnach lub wierszach, tj. musi się znaleźć zmienna Dimension na wizualizacji.
  • Wartości Measure muszą być zagregowane.
  • Zmienne Dimension nie mogą być jako Continuous.

Dostępne szybkie kalkulacje w Tableau

Jest to zestaw szczególnie przydatnych kalkulacji dostępnych w Tableau, bez potrzeby ich wcześniejszego definiowania w polach kalkulacyjnych. Dodatkowo, stanowią one często esencję samych raportów jako wskaźniki wzrostu czy spadku różnorakich wartości.

W Tableau dostępnych jest 11 różnych kalkulacji i są to:

  • Running total
  • Difference
  • Percent difference
  • Percent of total
  • Rank
  • Percentile
  • Moving average
  • YTD total
  • Compound growth rate
  • Year of year growth
  • YTD growth

W tym artykule przedstawię siedem pierwszych kalkulacji.

Jak stworzyć Quick Table Calculations?

Stworzenie, nomen omen, Quick Table Calculation jest bardzo szybkie i wymaga jedynie kliknięcia PPM na miarę oraz wybór odpowiedniej kalkulacji.

Quick Table Calculations 

Taka operacja reprezentowana jest przez znak delta. Są to jedynie transformację kalkulacji widocznych na wizualizacji. Nie tworzą nowych pól, jak to ma miejsce w przypadku pól kalkulowanych (ang. Calculated fields).

Quick Table Calculations

Zamieszczam tutaj Story z przykładami poszczególnych kalkulacji. W dalszej części artykuł będę się do nich bezpośrednio odwoływać.

 

Istotnym nadmienienia jest to, że Table Calculations są wykonywane po zastosowaniu wszelkich filtrów.

Percent of Total

Z lewej strony przedstawiony jest wykres ukazujący procentowy udział sprzedaży w każdym roku. Bardzo intuicyjnie można ukazać to również na wykresie stacked bars, który pokazuje procentowy udział dla każdego z regionów. Dzięki temu, że na osi znajduje się sto procent z każdego poszczególnego regionu, wszystkie słupki są zrównane, co pozwala na łatwiejszy odbiór, jednak już bez porównania na poszczególne regiony.

Running Total

Kolejna kalkulacja to Running Total. Nie wymaga ona przesadnego komentarza, wartości sumują się w kolejnych latach, tak jak widać to na linii kolorem niebieskim.

Difference oraz Percent Difference

Na kolejnej stronie wizualizacja pokazuje kolumny z wartościami sprzedaży w szarym kolorze oraz różnice w kolorze niebieskim, z podziałem na odpowiednie odniesienie. Owe odniesienie możliwe jest do ustalenia poprzez funkcję relative to, dostępną w Compute Using. Znajdziemy tam cztery opcje, tj.:

  • Previous – odniesienie do rekordu poprzedniego
  • Next – odniesienie do rekordu następnego (w danym roku jest mniej/więcej niż w roku następnym)
  • First – odniesienie do rekordu pierwszego
  • Last – odniesienie do rekordu ostatniego

Wszystkie one są pokazane na wykresach oraz w tabelce.

Pod nimi znajdują się wartości procentowe, tj. percente difference.

Gwoli wyjaśnienia, wartość 29% w 2017 roku (wykres Previous) oznacza, że jeżeli pomnożymy 129% z wartością znajdującą się w roku 2016 (471K) to otrzymamy wartość z roku 2017.

Rank oraz Percentile

Wykres pokazuje punkty ukazane na dwóch osiach, w których jedna ukazuje Rank (szare kropki) oraz Percentile (niebieskie). Starałem się ukazać tutaj odbicie lustrzane tych dwóch kalkulacji.

Poniższy wykres dodatkowo obrazuje tę własność.

Quick Table Calculations

Quick Table Calculations

 

Jak widać Rank oraz Percentile mają wyraźne podobieństwo. Percetile to w zasadzie Rank w wartościach procentowych. Interpretacja tego pierwszego brzmi: jaki procent roczników ma wartość równą lub wyższą w odniesieniu do danego roku. Gdy spojrzymy na 2018 rok to jest on oznaczony w rankingu jako 1, posiada również wartość 100%. Widzimy tym samym, że każdy inny rok na wizualizacji nie przedstawia wartości wyższej niż on. Otrzymuje on najwyższe podium, zgodnie z kalkulacją Rank.

Moving Average

Średnia ruchoma jest to jedna z ważniejszych kalkulacji. Jest również bardzo intuicyjna, ale warto znać algorytm, jaki za nią stoi. Samo jej zastosowanie wygładza szereg czasowy, więc przy sporej sezonowości istnieje przesłanka do użycia tej właśnie kalkulacji. W przykładzie kolor szary przedstawia wartości rzeczywiste, a niebieski – średnią ruchomą.

Dodatkowo, zamieściłem również konkretne liczby w tabeli dla różnych poziomów średniej. W opcjach Compute Using, użytkownik ma możliwość ustalenia z ilu wcześniejszych wartości, wyciągamy ową średnią, w zależności od tego w jakim stopniu pragniemy wygładzić naszą linię. Użyte wartości to 2, 3 oraz 5. Jest również możliwość uwzględnienia w obliczenia

Widać zatem wyraźnie fenomen wygładzenia szeregu. Wykres obrazuje już raczej ogólny trend, a nie indywidualne okresu wzrostu, czy spadku. Ilość okresów wziętych pod uwagę jest tutaj ustawiona domyślnie przez Tableau na dwa.

Jak formatować?

Gdy już nasza kalkulacja znajduje się na wizualizacji, istnieją dwa sposoby, żeby formatować to, co dzieje się w Quick Table Calculation. Rozwijamy tym samym pasek opcji przez PPM i naszym oczom ukazują się dwie interesujące nas kategorie.

 

pasek opcji przez PPM

 

Pierwsza z nich to Compute Using. Do drugiej przejdę w dalszej części artykułu, teraz jednak postaram się zastosować każdą z ww. konfiguracji na zbiorze danych Superstore.

Kilka pojęć związanych z Table Calculations

Zanim przejdę jednak do samej konfiguracji, warto zapoznać się z pojęciami, które w znaczący sposób ułatwią zrozumienie jak właściwie działa Compute Using oraz Edit Table Calculation.

Adressing

Table Calculations tym różnią się od Calculated Fields, że używają jedynie wymiarów dostępnych na samej wizualizacji odpowiednio je transformując. Wynikiem tego jest użycie owych wymiarów do określania zakresu oraz kierunku samej kalkulacji.

Zajmijmy się najpierw kwestią adressing fields. Takie wymiary nadają kierunek, w którym przeprowadzona będzie operacja. Tableau automatycznie wykrywa, który z wymiarów może odpowiadać za odpowiednie przecięcie danych, a który za określanie kierunku.

 

wymiar określający kierunek jako wymiar YEAR

 

Dobrze to widać na powyższym rysunku. Tableau uznało wymiar określający adressing (kierunek) jako wymiar YEAR. To wzdłuż niego sumuje wartości, zaczynając raz po raz od nowa po przejściu do następnego wiersza.

Partitioning

To przejście do następnego wiersza jest właśnie operacją partitioning. Definiuje się ją jako określenie zakresu kalkulacji. Tak jak rok nadaje kierunek, tak wymiar CATEGORY wskazuje, kiedy Tableau ma rozpocząć sumowanie i kiedy je zakończyć.

Wielce pomocne okazać się może zapis zapytania SQL do tego konkretnego przykładu. Byłoby to coś takiego:

 

SELECT sum(Sales), Category

FROM Orders

WHERE Year BETWEEN 2015 AND 2018

GROUP BY Category;

 

Jak widać grupowanie, czy też nadawanie tych kawałków określających początek i koniec kalkulacji, zawierają się w wierszu GROUP BY. To według niego agregujemy wartości, nie nadajemy w żaden sposób kierunku operacji.

Compute Using

Z wiedzą o podstawowych pojęciach, przejdźmy do przykładów Compute Using. Przedstawię obraz tego ja wyglądają w Tableau, wraz z określeniem ich kierunku.

Table (across)

Nadajemy kierunek ponownie wzdłuż wymiaru YEAR. Jest to ustawiona wartość domyślna. Od lewej do prawej.

 

Nadawanie kierunku

Table (down)

Kierunek w dół, teraz adressingiem jest wymiar CATEGORY. Każdy kolejny rok wraca z powrotem do początku kalkulowania, tym samym on zajmuje się zakresem (partitioning).

 

nadawanie kierunku w dół

Table (across then down)

Tutaj już jest trochę ciekawiej. Kierunek jest nadawany przez oba wymiaru. W pierwszej kolejności przez wymiar YEAR, a później CATEGORY (w prawo i w dół).

 

nadawanie kierunku przez oba wymiary Year i Category

 

Table (down then across)

I w odwrotnej kolejności. Wpierw dół, a później w prawo.

 

nadawanie kierunku przez oba wymiary Category i Year

 

Pane Down/Across

Jeżeli w naszym przykładzie dodamy jeden wymiar SUB-CATEGORY, możemy dodatkowo operować na wymiarze Pane. Przedstawię tutaj jeden tylko przykład, całość jest taka sama jak w przypadku operowania na Table.

 

operowanie na wymiarze Pane

 

Kierunek nadany jest przez SUB-CATEGORY, tym samym jest to Pane (Down).

Cell

Tableau nadaje zakres jedynie do poszczególnej komórki, nic się nie zmieni w naszym przypadku.

Dimension from Columns/Rows (Category oraz Order Date)

Jeżeli wybierzemy z listy wymiar CATEGORY to będzie on określał kierunek kalkulacji. Ten wybór da takie same efekty jak Table (down). W przypadku Order Date, przesuwać będziemy się w prawo, tak jak było to pokazane w przykładzie Table (across).

Specific Dimensions

Użytkownik ma do wyboru jeszcze jedną opcję i jest nią Specific Dimensions. Tam, wymiary które mają określać kierunek (adressing fields), wybierane są ręcznie. Niewybrane wymiary stają się tymi, które określającymi zakres (partitioning fields).

Warto tutaj włączyć opcję Show calculation assistance.
Będzie ona pomagać w wyborze odpowiednich wymiarów.opcja show calculation assistance

Rozpatrzmy zatem cztery możliwości.

 

 Show calculation assistance.

 Category staje się kierunkiem (Table down)

 

 Compute Using

Year staje się kierunkiem (Table across)

 

Kalkulacje across then down

Sytuacja analogiczna do Table (across then down)

 

Kalkulacje down then across

Sytuacja analogiczna do Table (down then across)

 

Ustawiając opcję Restarting every, można nadać zakres (Partinionig) ręcznie.

W tej zakładce istnieją również inne opcje jak sortowanie, czy też ustawienie różnych poziomów obliczania różnic. Można również dodać następną kalkulację.

Aktualności

Analiza RFM – Python + Tableau

Aktualności

Forecast w Tableau – tworzenie oraz opcje konfiguracji 

X