Ako získať dáta v Power BI? (Část 1)
Získanie dát do Power BI je jednou z kľúčových aktivít pre vývoj reportov.
Získanie dát do Power BI je jednou z kľúčových aktivít pre vývoj reportov. Pre úspešnú implementáciu, je potrebné porozumieť jednotlivým metódam, akými dáta dostávame do prostredia, ich výhodám a obmedzeniam. V tomto článku si preto predstavíme Importovanie dát, DirectQuery a Dynamické pripojenie (Live Connection), ako aj režimy úložísk pre tabuľky, datasety a Kompozitný model.
Otázka, ako získať dáta do prostredia je jednou z prvých, ktoré si kladie každý vývojár. Ktorá cesta bude pre mňa najefektívnejšia? Aké sú výhody a obmedzenia jednotlivých prístupov?
Cieľom tohto článku je poskytnúť odpovede a popísať tieto metódy. V nadväzujúcom článku Ako získať dáta v Power BI (Časť 2) si preberieme súvisiace témy a to na použitie Power BI Dataflow, Plánované obnovenie (Data refresh), Query folding a Profilovanie dát (Data profiling). Spoločne by vám tak tieto články mali pomôcť s rozhodnutím, ktorý spôsob pripojenia bude najvhodnejší vo vašom prostredí pre jednotlivé zdroje dát.
Zdroje dát a spôsoby pristupovania
Power BI je schopné využívať širokú paletu dátových zdrojov, ako sú súbory alebo priečinky súborov, ručne zadané údaje, pripojenia k databázam a online zdroje.
Prístup k dátovým zdrojom v Power BI Desktope
K týmto zdrojom môžeme pristúpiť niekoľkými spôsobmi:
- Importovaním dát (Import Data / Scheduled Refresh)
- pomocou DirectQuery
- Dynamickým pripojením (Live Connection)
Spôsoby pripojenia dátových zdrojov
Zdroj: Power BI Connection Types: DirectQuery, Live, or Import? Tough Decision! – RADACADImportovanie dát je pre Power BI defaultným spôsobom prístupu k dátam. Dáta zo zdroja sú načítané priamo do pamäte, ktorá je následne využívaná pre spracovanie dotazov. Pre načítanie aktuálnych dát je potrebné vždy dáta obnoviť.
Výhodou tohto prístupu je:
- plná Power BI funkcionalita v oblasti dátových transformácii, modelovania a využívania jazyka DAX
- podpora špecifických funkcionalít v Power BI Službe (Q&A, Quick Insight, atď.)
- rýchlosť dotazov, keďže dáta sú už načítané v pamäti najjednoduchšia
- cesta prístupu k dátam z viacerých zdrojov v jednom modeli
Obmedzením tohto prístupu je povolená veľkosť modelu (1GB pre Power BI PRO, 10 GB pre Power BI Premium licenciu) a povolený počet automatických obnovení dát (8x denne pre Power BI PRO a 48x denne pre Power BI Premium licenciu). Je však potrebné zdôrazniť, že dáta sú importované v komprimovanej podobe, takže veľkosť výsledného datasetu je menšia oproti veľkosti vstupných dát.
Pri zakúpení Power BI Premium licencie je možnosť sprístupniť funkcionalitu (nie je nastavená defaultne) s názvom Large Dataset Storage Format a využívať tak dataset väčší než 10GB v Power BI Službe (obmedzením je v tomto prípade zakúpená veľkosť pamäte, pre Power BI Premium per Capacity P5 plán je to až 400 GB, alebo maximum nastavené administrátorom). V tomto prípade je stále povolený limit na publikovanie dátového modelu z Power BI Desktopu do Power BI Služby 10 GB, ale následne v službe samotnej môže model rásť nad túto hodnotu pomocou obnovenia dát. V praxi je tak možné v desktope nastaviť parameter, ktorý vyfiltruje len časť dát (napríklad za kratšie časové obdobie) a po publikovaní tento parameter zmeniť, aby sa načítali všetky dáta. Nastavenie Large Dataset Storage Format je odporúčané sprístupniť aj v prípade využívania XMLA zápisu, pre zlepšenie výkonu reportu.
Power BI Premium per Capacity licencia tiež umožňuje prekročiť limit 48 obnovení dát za deň využívaním Power Automate alebo PowerShell. Viac si u tejto možnosti povieme v nadväzujúcom článku Ako získať dáta v Power BI (Časť 2), v časti Plánované obnovenie dát.
Špecifickým zdrojom dát sú manuálne zadané údaje. Proces zadávania údajov je rovnaký, ako v prípade Microsoft Excel (ručne alebo kopírovanie do buniek), s limitom 3000 buniek v tabuľke. Dáta sú tak súčasťou datasetu a ich správanie je rovnaké, ako u importovaných dát.
DirectQuery je alternatívnym prístupom k dátam. Power BI ukladá v modeli iba metadáta (vzťahy medzi tabuľkami, názvy tabuliek, atď.), nie dáta samotné. Aktuálne dáta sú načítané pri každej akcii zo strany užívateľa.
Výhodou tohto prístupu je:
- dataset obsahujúci len metadáta sa vyhne problému s povolenou veľkosťou dátového modelu
- nie je potrebné nastavenie plánovaného obnovenia dát
Obmedzením tohto spôsobu pripojenia je dostupnosť len pre niektoré zdroje a limitovaná funkcionalita Power BI (nemožnosť vytvárania kalkulovaných tabuliek, obmedzené množstvo využiteľných príkazov v DAX, atď.). Zároveň je tento spôsob prístupu pomalší než v prípade Importovania dát. Obmedzením tiež môže byť maximálny počet dotazov do zdroja za sekundu, ktorý vychádza zo zakúpenej licencie (10 pre Power BI PRO, v prípade Power BI Premium per Capacity je to od 30 pre plán P1 po 480 pre plán P5). Napriek spomínaným nevýhodám je DirectQuery využiteľný v prípade, keď je dataset príliš veľký alebo v prípade, keď je nutné poskytovať takmer real-time dáta.
Dynamické pripojenie je podobne, ako DirectQuery, možným spôsobom pripojenia k dátam, ktorý ale podporuje len niektoré zdroje. Rovnako ukladá v pamäti iba metadáta, nie dáta samotné.
- dataset obsahujúci len metadáta sa vyhne potencionálnemu problému s povolenou veľkosťou dátového modelu
- nie je potrebné nastavenie plánovaného obnovenia dát
- rýchlejší ako DirectQuery, ale pomalší ako Importovanie dát
Obmedzením je, že všetky aktivity v oblasti modelovania sú vykonávané na strane dátového zdroja a Power BI slúži len na vizualizáciu dát. Nie sú tak dostupné žiadne transformácie a príkazy v DAX sú ukladané len na úrovni reportov a nie je ich možné uložiť priamo do datasetu (takže sa medzi reportami pripojenými na rovnaký dataset nezdieľajú). Dynamické pripojenie tiež neumožňuje pripojiť viac než jeden zdroj do cieľového datasetu.
Kompozitný model a režimy úložiska
V tomto okamihu vám môže napadnúť otázka, či je možné kombinovať DirectQuery s Importovaním dát, prípadne využiť DirectQuery pripojenie do dvoch rozdielnych zdrojov v rámci jedného datasetu. Poďme sa preto pozrieť, čo znamená Kompozitný model (Composite Model) a režimy úložiska pre tabuľky v datasete a dataset samotný.
Kompozitný model je odpoveďou na predchádzajúcu otázku. Označujú sa takto modeli, ktoré kombinujú buď dve alebo viac DirectQuery do rozdielnych zdrojov alebo v ktorých je časť zdrojov prístupná cez Importovanie dát a iná časť zdrojov je dostupná cez DirectQuery. Pre pripojenie veľkých tabuliek sa používa DirectQuery, aby sa znížila veľkosť modelu, kým pre menšie tabuľky sa použije Importovanie dát, čím sa zlepší výkon, keďže Power BI sa dotazuje do pamäte a nie priamo na zdroj.
Každá tabuľka modelu je uložená v režime úložiska (Storage Mode), ktorý indikuje, či je pripojená pomocou Importovania dát alebo DirectQuery. Pre kompozitný model existuje tretia možnosť – Duálny mód. V Duálnom móde sú uložené tabuľky, ktoré sa správajú ako Importované alebo DirectQuery v závislosti na ich vzťahu k iným tabuľkám v modeli. Tabuľky uložené v Duálnom móde majú tie isté limity ako tabuľky pre ktoré bolo použité DirectQuery (obmedzené transformácie, obmedzené využitie jazyka DAX). Nastavenie Režimu úložiska pre jednotlivé tabuľky je možné zmeniť v Power BI Desktope. Tabuľka pripojená cez DirectQuery môže byť zmenená na Duálnu, prípadne aj na Importovanie dát (zmena na Importovanie dát je nevratná). Pre tabuľky, ktoré boli importované nie je možné zmeniť režim úložiska.
Štruktúra kompozitného modelu
Zdroj: Dual Storage Mode; The Most Important Configuration for Aggregations! Step 2 Power BI Aggregations – RADACADSamotný model môže byť rovnako uložený v troch typoch režimu úložiska: Import, DirectQuery alebo Kombinovaný mód. Pokiaľ sú všetky dátové zdroje pripojené cez Importovanie dát, tak aj výsledný režim je Import. Ak sú všetky zdroje pripojené cez DirectQuery potom je výsledný režim DirectQuery. V prípade, že dôjde ku kombinácii dátových zdrojov pripojených Importovaním dát aj DirectQuery, hovoríme o Kombinovanom móde. Informáciu o režime úložiska vidíme v pravom dolnom rohu Power BI Desktopu. Pokiaľ je dataset v Importnom režime, tak je toto miesto prázdne.
Režim úložiska v Power BI Desktope
Zdroj: Composite Model in Power BI; DirectQuery and Import Data Combined – RADACADU niektorých zdrojov dát sa stretávame s limitovaným výberom možných spôsobov získania dát, kým napríklad u SQL Server databázy sa môžeme rozhodnúť podľa potreby medzi Importovaním dát a DirectQuery
Ukážka SQL Databázového serveru s možnosťami pripojenia
Iným príkladom viacerých možností prístupu a Kompozitného modelu samotného je pripojenie k Power BI datasetu publikovanému v Power BI Službe. Pôvodným riešením bolo využitie Dynamického pripojenia, ktoré však bolo limitované možnosťou pripojiť len jeden dataset. Microsoft implementoval možnosť pripojiť datasety cez DirectQuery a prípadne získať ďalšie zdroje pomocou Importovania dát. Tým dôjde k vytvoreniu Kompozitného modelu.
Záver
V tom článku sme sa zamerali na zdroje dát a spôsoby prístupu k nim pomocou Importovania dát, DirectQuery a Dynamického pripojenia. Následne sme popísali Kompozitný model a režimy úložiska na úrovni tabuľky a datasetu. Importovanie dát predstavuje defaultný spôsob získavania dát a poskytuje najväčšiu flexibilitu v transformáciách, kým DirectQuery a Dynamické pripojenie poskytujú prístup k takmer real-time dátam. Kompozitný model poskytuje možnosť, ako využívať viaceré metódy získavania dát v jednom datasete. Informácie popísané v tomto článku nám poskytujú holistický prehľad o výhodách a limitoch jednotlivých prístupov, čo nám umožňuje rozhodnutie, ktorá verzia poskytuje najväčšiu pridanú hodnotu vzhľadom na požiadavky a na existujúce dátové zdroje. Toto rozhodnutie ovplyvňujú súvisiace funkcie a komponenty Power BI a tie si popíšeme v nasledujúcom článku, Ako získať dáta v Power BI (Časť 2).
Zdroje
- About using DirectQuery in Power BI: Using DirectQuery in Power BI – Power BI | Microsoft Docs
- Dataset connectivity with the XMLA endpoint: Dataset connectivity and management with the XMLA endpoint in Power BI – Power BI | Microsoft Docs
- Dataset modes in the Power BI service: Dataset modes in the Power BI service – Power BI | Microsoft Docs
- DirectQuery for Power BI dataset: How does it work?: DirectQuery for Power BI dataset: How does it work? – RADACAD
- DirectQuery for Power BI datasets and Analysis Services. The composite model with Analysis Services. What is it and whig it is a big deal?: DirectQuery for Power BI datasets and Analysis Services. The composite model with Analysis Services. What is it and why it is a big deal? – RADACAD
- Download a report from the Power BI service to Power BI Desktop: Download a report from the Power BI service to Power BI Desktop – Power BI | Microsoft Docs
- Dual Storage Mode; The Most Important Configuration for Aggregations! Step 2 Power BI Aggregations: Dual Storage Mode; The Most Important Configuration for Aggregations! Step 2 Power BI Aggregations – RADACAD
- Large datasets in Power BI Premium: Large datasets in Power BI Premium – Power BI | Microsoft Docs
- Manage storage mode in Power BI Desktop: Use storage mode in Power BI Desktop – Power BI | Microsoft Docs
- Power BI Connection Types: DirectQuery, Live, or Import? Tough Decision!: Power BI Connection Types: DirectQuery, Live, or Import? Tough Decision! – RADACAD
- Power BI data sources: Power BI data sources – Power BI | Microsoft Docs
- Refresh your Power BI dataset using Microsoft Flow?: Refresh your Power BI dataset using Microsoft Flow | Microsoft Power BI Blog | Microsoft Power BI
- Use composite models in Power BI Desktop: Use composite models in Power BI Desktop – Power BI | Microsoft Docs
- Using DirectQuery for Power BI datasets and Analysis Services (preview): Using DirectQuery for datasets and Analysis Services (preview) – Power BI | Microsoft Docs
- What is Power BI Premium Gen2?: What is Power BI Premium Gen2? – Power BI | Microsoft Docs
- What is Power BI Premium?: What is Microsoft Power BI Premium? – Power BI | Microsoft Docs
Autor: Tatiana Kardošová