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 transakce a order_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í
5. Vložím filtr a mteriky do dashboardu and thats it! :)
Případný detail zde: The Ultimate Guide to Year-over-Year Comparisons in Tableau
Zapomněl jsem na něco? Chcete se na něco zeptat? Napište mi.
Rado
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
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
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?