Power BI - Datové modelování Datové modelování -Základní proces analýzy dat -Pomocí diagramu se vizuálně vyjádří vztah mezi jednotlivými daty, která jsou pro analýzu shromažďována. -Správný datový model zjednodušuje práci s daty a umožňuje dosáhnout správných výsledků -Zlepšuje se performance reportu -Je možné se vyvarovat složitým DAX funkcím, které by mohly report zpomalovat nebo vracet nejednoznačné výsledky -Model je udržitelný a snadno rozšiřitelný o další data (tabulky) -Často jde o úplně první krok v analýze a stačí nám k němu tužka a papír -Datový model musí být jednoznačný Vazby -Rozlišujeme dva typy tabulek dimenzní (číselníky), vždy by měly mít unikátní identifikátor pro každý řádek faktové -Typy vazeb 1:1 (one to one) každá položka je v tabulce právě jednou (produkt, ceník produktů) 1:N / 1:* (one to many) každá položka může mít v tabulce více výskytů (produkt, ceník produktů v jednotlivých letech) N:N / *:* (many to many) Jedna nebo více položek může mít v tabulce více výskytů (tabulka knih v knihovně s autory, která bude mít vazbu na tabulku autorů a jejich knih - autor má více výskytů, protože napsal více knih a zároveň jsou knihy, které může napsat více autorů) -Směr vazeb Jednostranná Jedna tabulka filtruje jednotlivé záznamy v druhé tabulce (typicky dimenzní tabulka filtruje dané záznamy z factové tabulky, druhá tabulka pak ale už nefiltruje tabulku první Oboustranná obě tabulky se filtrují navzájem, filtrování vždy probíhá pomocí sloupců přes které je vazba vytvořená Denormalizace a Normalizace Typy datových modelů - Star Schema factOrders OrdersID ProductID DateKey Value Quantity dimProduct ProductID Name Size BrandName BrandID BrandOrigin dimDate DateKey Date MonthName Month StartOfMonth Year 1 1 N N Typy datových modelů - Snowflake Schema factOrders OrdersID ProductID DateKey Value Quantity dimProduct ProductID Name Size BrandID dimDate DateKey Date MonthName Month StartOfMonth Year 1 1 N N dimBrand BrandName BrandID BrandOrigin 1 N Typy Datových modelů Van Arsdel Datový model Power BI - Vizualizace, vzorce a kontexty DAX Calculated Columns vs Measures Calculated Column Measure ROW Kontext ●Iteruje ●Automaticky u počítaných stĺpcov ●Všetky X funkcie = SUMX, AVERAGEX ●1. Najskôr sa použije filter context (vizuál, slicer...) ●2. Potom sa aplikuje row context Calculated Column SUMX a FILTER Funkcia ALL v SUMX ●Funkcia ALL ignoruje filter context = vráti vždy celú tabuľku, takže SUMX iteruje celú tabuľku ●!!!Pozor!!! Filter kontext samotný sa nemení, celá “kalkulácia“ má stále ten istý kontext, ako na začiatku Kontexty a väzby Väzby ●Šípka na väzbe = akým smerom sa propaguje filter ●Keď sa použije obojstranná väzba, metrika už nie je aditívna, ale celkový súčet bude sedieť ○Jeden produkt bol kúpený zákazníkom z dvoch kategórií ●Keď povolíme obojstrannú väzbu, bude vždy aktívny akýkoľvek filter, ktorý ovplyvní tabuľku CALCULATE ●Môže zahŕňať akúkoľvek DAX funkciu ako prvý argument ●V druhom a ďalších argumentoch môžeme pomocou filtrovacích podmienok zmeniť filter context (kde bude funkcia vyhodnotená) ●POZOR!!! Každý argument po prvom argumente je vlastne tabuľka ●Môže existujúci filter modifikovať, pridať, nahradiť alebo odstrániť existujúce filtre vo filter contexte Calculate ALL vo funkcií Calculate ●ALL v druhom argumente sa stáva z tabuľkovej funkcie filtrom ●Ak do ALL nedáme žiadny stĺpec (len tabuľku), tak zrušíme filter zo všetkých stĺpcov danej tabuľky ●Ak chceme zrušiť filter len u dvoch stĺpcov, musíme oba napísať ●Môžeme použiť ALL viacnásobne, ale nedá sa odkazovať na stĺpce z dvoch rôznych tabuliek ALLSELECTED FILTER A KEEPFILTERS Time Intelligence Funkcie -Funkcie pracujúce s dátumom -Pre správne fungovanie potrebujú separátnu dátumovú tabuľku -V prípade, že nemáme separtánu dátumovú tabuľku, dá sa použiť funkcia CALENDAR alebo CALENDARAUTO CALENDAR a CALENDARAUTO Time Intelligence Funkcie