Definovanie granularity údajov

Dokončené

Granularita údajov predstavuje podrobnosti, ktoré sú zastúpené vo vašich údajoch. To znamená, že čím viac granularity majú vaše údaje, tým vyššia je úroveň podrobností vo vašich údajoch.

Téma granularity údajov je dôležitá pre všetkých analytikov údajov bez ohľadu na nástroje služby Power BI, ktoré používate. Definovanie správnej granularity údajov môže mať veľký vplyv na výkon a použiteľnosť zostáv a vizuálov služby Power BI.

Definícia granularity údajov

Predstavte si scenár, že vaša spoločnosť spravuje 1 000 ťahačov s chladením. Každých niekoľko minút jednotlivé nákladné vozidlá použijú aplikáciu Microsoft Azure IoT, aby zaznamenali aktuálnu teplotu. Táto teplota je pre vašu organizáciu veľmi dôležitá, pretože ak by sa chladenie pokazilo, celý náklad by sa mohol znehodnotiť, čo by stálo tisíce dolárov. Pri takom veľkom počte nákladných vozidiel a senzorov sa každý deň vygeneruje rozsiahle množstvo údajov. Používatelia vašej zostavy sa nechcú predierať takým množstvom záznamov, len aby našli tie, ktoré ich naozaj zaujímajú.

Ako môžete zmeniť granularitu údajov tak, aby bol sémantický model lepšie použiteľný?

V tomto scenári by ste mohli napríklad importovať údaje podľa denného priemeru pre jednotlivé nákladné vozidlá. Tento prístup by znížil počet denných záznamov v databáze na jeden záznam na nákladné vozidlo. Ak by ste sa rozhodli, že daný prístup by bol na sledovanie nákladov a chýb celkom prijateľný, potom by ste mohli použiť danú granularitu. Prípadne by ste mohli vybrať naposledy zaznamenanú teplotu alebo by ste mohli len importovať záznamy, ktoré sú nad alebo pod normálnym rozsahom teplôt. Ktorákoľvek z týchto metód zníži celkový počet záznamov, ktoré importujete, zatiaľ čo stále prinesie komplexné a cenné údaje.

V iných scenároch by ste sa mohli rozhodnúť pre granularitu údajov, ktorá je definovaná týždenne, mesačne alebo štvrťročne. Vo všeobecnosti platí, že keď budete pracovať s menším počtom záznamov, zostavy a vizuály budú fungovať rýchlejšie. Tento prístup sa premieta do rýchlejšej obnovovacej frekvencie pre celý sémantický model, čo môže znamenať, že obnovenie môžete aktualizovať častejšie.

Tento prístup má však aj istú nevýhodu. Ak sa chcú vaši používatelia pozrieť na jednotlivé transakcie podrobnejšie, sumarizácia granularity im v tom zabráni, čo môže mať negatívny dopad na používateľskú skúsenosť. Je dôležité prekonzultovať úroveň granularity údajov s používateľmi zostáv, aby porozumeli dôsledkom týchto možností.

Zmena granularity údajov na vytvorenie vzťahu medzi dvoma tabuľkami

Granularita údajov môže ovplyvňovať aj vytváranie vzťahov medzi tabuľkami v službe Power BI.

Predpokladajme napríklad, že vytvárate zostavy pre tím predaja spoločnosti Tailwind Traders. Požiadali vás o vytvorenie matice celkového predaja a rozpočtu v priebehu času pomocou tabuliek Calendar (Kalendár), Sales (Predaj) a Budget (Rozpočet). Všimnite si, že najnižšia úroveň časových podrobností, ktoré dokáže tabuľka Sales (Predaj) zobraziť, je deň, napríklad 1. 5. 2020, 7. 6. 2020 a 18. 6. 2020. Tabuľka Budget (Rozpočet) má len mesačnú úroveň, a teda údaje rozpočtu sú 5/2020 a 6/2020. Tieto tabuľky majú rôzne granularity, ktoré je potrebné zosúladiť ešte pred vytvorením vzťahu medzi tabuľkami.

Na nasledujúcom obrázku je zobrazený aktuálny sémantický model.

Snímka obrazovky granularity údajov v sémantickom modeli.

Ako vidno na predchádzajúcom obrázku, vzťah medzi tabuľkami Budget (Rozpočet) a Calendar (Kalendár) chýba. A preto skôr než začnete vytvárať vizuál, musíte tento vzťah vytvoriť. Všimnite si, že ak transformujete stĺpce Year (Rok ) a Month (Mesiac ) v tabuľke Calendar (Kalendár) do nového stĺpca a vykonáte rovnakú transformáciu v tabuľke Budget (Rozpočet), môžete použiť rovnaký formát stĺpca Date ( Dátum) v tabuľke Calendar (Kalendár). Potom môžete vytvoriť vzťah medzi týmito dvomi stĺpcami. Ak chcete vykonať túto úlohu, musíte zreťaziť stĺpce Year (Rok) a Month (Mesiac) a potom zmeniť formát.

Snímka obrazovky tabuliek Budget (Rozpočet) a Calendar (Kalendár).

Na páse s nástrojmi vyberte položku Transformovať údaje. V časti Použité kroky na pravej table kliknite pravým tlačidlom na posledný krok a potom vyberte položku Vložiť krok po.

Snímka obrazovky kontextovej ponuky Upraviť nastavenia vizuálu Použité kroky.

V časti Pridať stĺpec na páse s nástrojmi Domov vyberte položku Vlastný stĺpec. Zadajte nasledujúcu rovnicu, ktorou sa zreťazia stĺpce Year (Rok) a Month (Mesiac), a potom medzi názvy stĺpcov pridajte pomlčku.

Column = Table.AddColumn(#"Renamed Columns", "Custom", each [Year] & "-" &[Month])

Zmeňte typ údajov na Date (Dátum) a potom stĺpec premenujte. Vaša tabuľka Budget (Rozpočet) by mala pripomínať nasledujúci obrázok.

Snímka obrazovky vlastného stĺpca pre dátum.

Teraz už môžete medzi tabuľkami Budget (Rozpočet) a Calendar (Kalendár) vytvoriť vzťah.

Vytvorenie vzťahu medzi tabuľkami

Power BI automaticky zisťuje vzťahy, ale môžete tiež prejsť do časti Správa vzťahov > Nový a vytvoriť vzťah v stĺpci Date (Dátum). Tento vzťah by mal pripomínať nasledujúci obrázok.

Snímka obrazovky vytvárania vzťahov.

Dokončením tejto úlohy ste zabezpečili, že granularita medzi rôznymi tabuľkami je rovnaká. Teraz musíte vytvoriť mierky DAX, aby vypočítali hodnoty Total Sales (Celkový predaj) a BudgetAmount (SumaRozpočtu). Prejdite na tablu Údaje v aplikácii Power BI Desktop, vyberte položku Nová mierka a následne vytvorte dve mierky s nasledujúcimi rovnicami:

TotalSales = SUM(Sales[Total Sales])
BudgetAmount = SUM (Budget[BudgetAmount])

Na table Vizualizácia vyberte vizuál tabuľky a potom zadajte tieto mierky a Date (Dátum ) do poľa Values (Hodnoty ). Dokončili ste vytvorenie matice celkového predaja a rozpočtu v priebehu času.

Snímka obrazovky znázorňujúca zostavovaný vizuál matice.