Optimalizace modelů DirectQuery pomocí úložiště na úrovni tabulky

Dokončeno

DirectQuery je jedním ze způsobů, jak dostat data do Power BI Desktopu. Při použití metody DirectQuery se z Power BI Desktopu připojujete přímo k datům ve zdrojovém úložišti. Jedná se o alternativu k importu dat do Power BI Desktopu.

Snímek obrazovky, který ukazuje, jak pomocí možnosti DirectQuery získat data

Když používáte metodu DirectQuery, závisí celková zkušenost uživatelů významně na výkonu podkladového zdroje dat. Pomalá doba odezvy na dotazy povede k negativní zkušenosti uživatelů a v nejhorším možném případě může dotazům vypršet časový limit. Rovněž počet uživatelů, kteří v jednom okamžiku otevírají sestavy, bude mít vliv na zatížení daného zdroje dat. Pokud má sestava například 20 vizuálů a používá ji 10 lidí, proběhne vůči zdroji dat 200 nebo více dotazů, protože každý vizuál bude vydávat jeden nebo více dotazů.

Výkon modelu Power BI bohužel nebude ovlivněn jen výkonem podkladového zdroje dat, ale také dalšími nekontrolovatelnými faktory, mezi které patří:

  • Latence sítě; v rychlejších sítích se data vracejí rychleji.

  • Výkon serveru, na kterém se nachází zdroj dat, a počet dalších úloh na tomto serveru. Zvažte například důsledky aktualizace serveru, která probíhá v době, kdy stovky lidí používají z různých důvodů stejný server.

Použití režimu DirectQuery proto představuje riziko pro výkon vašeho modelu. Abyste v této situaci mohli optimalizovat výkon, potřebujete mít přístup ke zdrojové databázi nebo nad ní mít kontrolu.

Podrobnější informace najdete v článku Pokyny k modelu DirectQuery v Power BI Desktopu.

Důsledky použití DirectQuery

Osvědčený postup je naimportovat data do Power BI Desktopu, vaše organizace ale může potřebovat připojení k datům v režimu DirectQuery, a sice z jednoho z následujících důvodů (výhody DirectQuery):

  • Je vhodný v případech, kdy se data často mění a vyžaduje se vykazování v téměř reálném čase.

  • Dokáže zpracovat velké objemy dat bez nutnosti předběžné agregace.

  • Používá omezení suverenity dat a vyhovuje tak právním požadavkům.

  • Dá se použít s multidimenzionálním zdrojem dat, který obsahuje míry, jako je SAP Business Warehouse (BW).

Pokud vaše organizace potřebuje použít režim DirectQuery, měli byste se důkladně seznámit s jeho chováním v Power BI Desktopu a znát jeho omezení. Pak budete vědět, jaká opatření učinit, abyste model DirectQuery co nejlépe optimalizovali.

Chování připojení DirectQuery

Když v Power BI Desktopu používáte pro připojení k datům DirectQuery, chová se toto připojení následujícím způsobem:

  • Při prvním použití funkce Získat data v Power BI Desktopu vyberete zdroj. Pokud se připojíte k relačnímu zdroji, můžete vybrat sadu tabulek, přičemž každá z nich bude definovat dotaz, který logicky vrátí sadu dat. Pokud vyberete multidimenzionální zdroj, například SAP BW, můžete vybrat jen tento zdroj.

  • Při načítání dat nejsou do Power BI Desktopu importována žádná data, načte se jen schéma. Při sestavování vizuálu v Power BI Desktopu se dotazy odesílají do podkladového zdroje, ze kterého se načítají potřebná data. Doba potřebná k aktualizaci vizuálu závisí na výkonu tohoto podkladového zdroje dat.

  • Pokud se podkladová data změní, vzhledem k ukládání do mezipaměti se tyto změny v existujících vizuálech v Power BI neprojeví okamžitě. Abyste tyto změny viděli, musíte provést aktualizaci. Pro každý vizuál jsou k dispozici potřebné dotazy a vizuály se odpovídajícím způsobem aktualizují.

  • Když sestavu publikujete do služba Power BI, výsledkem bude sémantický model v služba Power BI, stejně jako při importu. Tento sémantický model ale neobsahuje žádná data.

  • Když otevřete existující sestavu ve službě Power BI nebo vytvoříte novou, kvůli načtení nezbytných dat se znovu provede dotaz vůči podkladovému zdroji. V závislosti na umístění původního zdroje budete zřejmě muset nakonfigurovat místní bránu dat.

  • Vizuály nebo celé stránky sestavy můžete připnout jako dlaždice řídicího panelu. Tyto dlaždice se automaticky aktualizují podle plánu, například každou hodinu. Frekvenci této aktualizace můžete nastavit podle svých požadavků. Když řídicí panel otevřete, obsahují dlaždice data z doby poslední aktualizace a nemusí obsahovat poslední změny provedené v podkladovém zdroji dat. Otevřený řídicí panel můžete kdykoli aktualizovat, abyste měli jistotu, že je aktuální.

Omezení připojení DirectQuery

Použití DirectQuery může mít negativní dopady. Tato omezení se liší v závislosti na konkrétním použitém zdroji dat. Měli byste zohlednit následující aspekty:

  • Výkon – jak už bylo řečeno, závisí celková zkušenost uživatelů významně na výkonu podkladového zdroje dat.

  • Zabezpečení – pokud v modelu DirectQuery používáte více zdrojů dat, je důležité vědět, jak se data pohybují mezi podkladovými zdroji dat a jaké důsledky to má na zabezpečení. Měli byste rovněž zjistit, jestli se na data v podkladovém zdroji dat vztahují pravidla zabezpečení, protože v Power BI vidí tato data všichni uživatelé.

  • Transformace dat – data čerpaná z DirectQuery mají oproti importovaným datům omezení, pokud jde o techniky transformace dat v Editoru Power Query. Pokud se například připojíte k nějakému zdroji OLAP, jako je SAP BW, nemůžete dělat vůbec žádné transformace; ze zdroje dat se převezme celý externí model. Pokud chcete data jakýmkoli způsobem transformovat, budete to muset udělat v podkladovém zdroji dat.

  • Modelování – některé možnosti modelování, které máte u importovaných dat, jsou při použití DirectQuery nedostupné nebo omezené.

  • Vykazování – téměř všechny možnosti vykazování, které máte u importovaných dat, jsou podporovány také u modelů DirectQuery za předpokladu, že podkladový zdroj nabízí dostatečnou úroveň výkonu. Pokud se ale sestava publikuje ve službě Power BI, nejsou podporovány funkce Rychlé přehledy a Q&A. Také funkce pro zkoumání v Excelu nebude příliš dobře fungovat.

Podrobnější informace o omezeních při používání DirectQuery najdete v části Důsledky vyplývající z používání DirectQuery.

Teď, když chápete princip, jak DirectQuery funguje a jaká má omezení, můžete učinit opatření pro zvýšení výkonu.

Optimalizace výkonu

Pokračujte scénářem tailwind Traders a během kontroly sémantického modelu zjistíte, že dotaz použil DirectQuery k připojení Power BI Desktop ke zdrojovým datům. Toto použití DirectQuery je důvodem, proč si uživatelé stěžují na výkon sestavy. Načítání stránek v sestavě trvá příliš dlouho a při provádění určitých výběrů se tabulky neaktualizují dostatečně rychle. Potřebujete nějakým způsobem optimalizovat výkon modelu DirectQuery.

Můžete prověřit dotazy, které se odesílají do podkladového zdroje, a pokusit se identifikovat důvod jejich nízkého výkonu. Provedením změn v Power BI Desktopu a v podkladovém zdroji dat pak můžete optimalizovat celkový výkon.

Optimalizace dat v Power BI Desktopu

Když jste dosáhli co nejlepší optimalizace zdroje dat, můžete v Power BI Desktopu učinit další opatření pomocí Analyzátoru výkonu, ve kterém izolujete dotazy a ověříte plány dotazů.

Analýzou doby trvání dotazů, které se odesílají do podkladového zdroje, dokážete identifikovat dotazy, jejichž načítání trvá dlouho. Jinými slovy můžete zjistit, kde se nacházejí kritické body.

K optimalizaci modelu DirectQuery nepotřebujete zvláštní postupy; můžete využít stejné techniky optimalizace, které jste použili u importovaných dat, a s jejich pomocí vyladit data ze zdroje DirectQuery. Můžete například snížit počet vizuálů na stránce sestavy nebo snížit počet polí, která se používají ve vizuálu. Můžete také odebrat nepotřebné sloupce a řádky.

Podrobnější pokyny k optimalizaci dotazu DirectQuery najdete v tématech: Pokyny k modelu DirectQuery v Power BI Desktop a Pokyny k úspěšnému používání DirectQuery.

Optimalizace podkladového zdroje dat (připojené databáze)

Nejprve se musíte zastavit u zdroje dat. Potřebujete co nejlépe vyladit zdrojovou databázi, protože cokoli uděláte pro zvýšení výkonu této zdrojové databáze, povede následně ke zvýšení výkonu DirectQuery v Power BI. Opatření, která učiníte v databázi, budou mít největší dopad.

Zvažte následující standardní databázové postupy, které lze použít ve většině situací:

  • Vyhněte se použití složitých počítaných sloupců, protože výpočetní výraz bude začleněn do dotazů na zdroj. Účinnější je přesunout tento výraz zpět do zdroje, protože se tím vyhnete přesunutí směrem dál. Můžete také zvážit přidání sloupců náhradního klíče do dimenzionálních tabulek.

  • Zkontrolujte indexy a ověřte, jestli je aktuální indexování správné. Pokud potřebujete vytvořit nové indexy, ujistěte se, že jsou vhodné.

Přečtěte si doprovodné materiály ke zdroji dat a implementujte doporučení týkající se jeho výkonu.

Přizpůsobení možností snížení počtu dotazů

Power BI Desktop nabízí možnost odesílání menšího počtu dotazů a zakázání určitých interakcí, které povedou k degradaci výkonu, pokud výsledné dotazy běží dlouho. Pomocí těchto možností zabráníte, aby byl zdroj dat nepřetržitě bombardován dotazy, což by mělo zvýšit výkon.

V tomto příkladu upravíte výchozí nastavení a použijete u svého modelu dostupné možnosti redukce dat. K nastavení se dostanete tak, že vyberete Možnosti souboru>a nastavení> Možnosti, posunete se na stránce dolů a pak vyberete možnost Omezení dotazu.

K dispozici jsou následující možnosti snížení počtu dotazů:

  • Snížení počtu odesílaných dotazů – každý vizuál standardně provádí interakce s ostatními vizuály. Zaškrtnutím tohoto políčka tuto výchozí interakci zakážete. Pomocí funkce Upravit interakce pak můžete volitelně určit, které vizuály mohou mít vzájemné interakce.

  • Průřezy – standardně je vybrána možnost Okamžitě použít změny průřezu. Pokud chcete vynutit, aby uživatelé sestavy použili změny průřezu ručně, vyberte možnost Přidat tlačítko Použít do jednotlivých průřezů pro použití změn, až budete připraveni.

  • Filtry – standardně je vybrána možnost Okamžitě použít změny základního filtru. Pokud chcete vynutit, aby uživatelé sestavy použili změny filtru ručně, vyberte jednu z těchto alternativních možností:

    • Přidat tlačítka Použít do všech základních filtrů na použití změn, až budete připraveni

    • Přidat jedno tlačítko Použít do podokna filtru, aby se všechny změny použily najednou (Preview)

Přístup k nastavením pro snížení počtu dotazů