Tableau - Period over Period | Mňamka #107

Za dobu, co polužíváme Tableau, tak jsme přišli celkem na 5 patternů, jak v Tableau realizovat period over period srovnání:

  • Quick Table Calculation

  • LOOKUP funkce

  • Master / Slave

  • Last Year transacions

  • Custom filter s předdefinovaným obdobím (WTD, MTD, YTD,...)

Quick Table Calculation 

Standardní řešení od Tableau. Vygooglit lze celou řadu návodů, jeden z nich zde (Video od Penguin Consulting), případně zde (Tableau Video).

Výhoda: Není výpočetně náročná

Nevýhody:

  • První období nezobrazuje data, protože nemá s čím srovnávat
  • Musím ve worksheetu zobrazovat celé období

LOOKUP Funkce 

Druhou možností je použít funkci LOOKUP(), která je pouze Table Calculation, tj. provádí se pouze v rámci daného worksheetu (tj. nikoli nad celým datasetem). Její funkce je v podstatě stejná, jako Quick Table Calcuation. V podstatě pouze definujete, "kam" se funkce dívá. Detailní popis funkce zde.

Výhody / nevýhody jsou stejné, jako v případě Quick Table Calc. (ostatně Quick Table Calc je v podstatě pouze UI na tento druh funkcí). LOOKUP funkce se ale dá také použít na skrývání části vizualizace, kterou nechci vidět.

Master / Slave Dataset (YoY)

Další z možných technik je využít Master / Slave dataset, v TBL nazývaný jako data blending.

Mějme tabulku s transakcemi a chceme dělat YoY porovnání. Tabulka obdsahuje fakt price a order_date. V ETL upravíme tabulku tak, že přidáme sloupec order_date_next_year, kde přičteme 1 rok k order_date. Následně v Tableau nad touto tabulkou definujeme 2 datasety. Jeden bude mít price a order_date (transations_this_year), druhý bude mít price (můžeme nastavit alias - přejmenovat - na price_last_year) a sloupec order_date_next_year, s aliasem (přejmenováno na order_date) (transactions_last_year). Následně použijeme blending, jehož součástí je transactions.order_date -> transactions_last_year.order_date.

Nyní můžeme např. vytvořit metriku SUM([price]) / SUM([price_last_year]).

Výhoda: YoY porovnávání probíhá na úrovni dat a nikoli vyzualizace, takže lze filtrovat např. na jediný den a vše funguje ok.

Nevýhoda: Výpočetně náročné díky použitému blendingu. Pokud je použito na dshb vícekrát, může výkon dshb být zásadně degradován.

Last Year Transactions (YoY)

Výkonově zajímavou alternativou je namísto blendingu použit JOIN.

V ETL vyrobím tabulku transactions, která bude mít sloupce price, last_year_price a order_date. Tabulku naplním tak, že každá transakce bude v tabulce 2x. Jednou s last_yeat_price = null, podruhé bude price = null, last_year_price bude obsahovat hodnotu transakceorder_date bude mít původní order_date posunutý o 1 rok dopředu.

Výhoda: Vyšší výkon, než u blendingu.

Nevýhoda: Datový objem.

Custom filter s předdefinovaným obdobím (WTD, MTD, YTD,...)

Výhodou tohoto řešení je variabilita období, které jdou jedním filtrem vybrat.

Za základ jsou považovány tyto předdefinovaná srovnání, ale v podstatě je lze jakkoliv doplnit/rozšířit (např. o last 30 days, Month to date YoY,...):

  • Week to date - data za tento týden do dneška vs. data za stejné období minulého týdne
  • Month to date - data za tento měsíc do dneška vs. data za stejné období minulého měsíce
  • Year to date - data za tento rok do dneška vs. data za stejné období minulého roku
  • Moving annual total - data za minulých 12 měsíců vs. data za stejné období před tím
  • Last month - data za minulý měsíc vs. data za stejný měsíc v minulém roce

Postup:

1. Vytvořím parametr, který obsahuje období, která chci filtrovat, spolu s values (INT), která použiji v dalším calculated field

2. Vytvořím jednotlivé calculated fields pro každý druh periody z kroku 1 (viz níže), kde definuji jaké období s kterým porovnávám (analgicky upravím pro rozdíl dnů/týdnů/měsíců...)

3. Vytvořím calculated field, který vybírá metriku na základě vybraného období

4. Chtěné metriky, které mají porovnávat období upravím následovně: (Current Period = 2, Previous Period = 1)

5. Vložím filtr a mteriky do dashboardu and thats it! :)

Zapomněl jsem na něco? Chcete se na něco zeptat? Napište mi. 

Rado

Radovan Jirka
datový detektiv
LinkedIn

Jaká je Vaše komfortní zóna BI ve firmě? | Mňamka #25

Jaká je Vaše komfortní zóna BI ve firmě? | Mňamka #25

Zavedení BI ve firmě obvykle znamená něco, co se bez nadsázky dá nazvat vystoupením z komfortní zóny. Proč tomu tak je? Jste na to připraveni? Tento článek Vás může v mnohém inspirovat a navíc si můžete sami vyzkoušet kvíz, jak na tom jste.

Základní datové typy | Mňamka #41

Základní datové typy | Mňamka #41

Datové typy. Jeden ze základních stavebních kamenů datové analytiky a programování vůbec. Správná klasifikace datového typu nám ulehčí spoustu budoucích troubles. Tak se na to pojďme podívat. A jak už je zvykem, přidali jsme i pár zajímavých odkazů s problematikou.

Klíčové ukazatele výkonnosti (KPI): Co jsou, jak na ně a pár příkladů k tomu. | Mňamka #59

Klíčové ukazatele výkonnosti (KPI): Co jsou, jak na ně a pár příkladů k tomu. | Mňamka #59

Mr. Wiki říká, že KPI je "pomůcka pro měření výkonnosti, která se běžně používá k měření úspěšnosti aktivity organizace." Já bych řekla, že KPIs jsou indikátory definující zdraví naší firmy. Jak je nastavit, aby nám to k něčemu bylo? A dokážete nějaké vyjmenovat?