Řešení problémů s výkonem
V organizacích bude při spouštění sestav čas od času nutné řešit problémy s výkonem. Power BI nabízí nástroj Analyzátor výkonu, který vám pomůže s řešením problémů a zefektivněním procesu.
Představte si scénář, ve kterém vytváříte sestavy pro prodejní tým ve vaší organizaci. Naimportovali jste data, která se nacházela v několika tabulkách databáze SQL prodejního týmu, a to vytvořením datového připojení k této databázi přes DirectQuery. Při vytváření předběžných vizuálů a filtrů si všimnete, že dotazování funguje u některých tabulek rychleji než u jiných a že se některé filtry zpracovávají déle než jiné.
Optimalizace výkonu v Power Query
Výkon Power Query závisí na výkonu na úrovni zdroje dat. Škála zdrojů dat, které Power Query nabízí, je široká a techniky ladění výkonu pro každý zdroj jsou stejně široké. Pokud například extrahujete data z Microsoft SQL Serveru, měli byste postupovat podle pokynů pro ladění výkonu tohoto produktu. Mezi dobré SQL Server techniky ladění výkonu patří vytváření indexů, upgrady hardwaru, ladění plánu provádění a komprese dat. Tato témata překračují rámec tohoto článku a jsou zmíněna jen jako příklad toho, že je potřeba se se zdrojem dat seznámit a při používání Power BI a Power Query z toho těžit.
Power Query využívá dobrý výkon zdroje dat prostřednictvím techniky označované jako skládání dotazů.
Skládání dotazů
Skládání dotazů v Editoru Power Query vám pomůže zvýšit výkon sestav Power BI. Posouvání dotazů je proces, při kterém se transformace a úpravy provedené v Editor Power Query současně sledují jako nativní dotazy nebo jednoduché příkazy Select SQL, zatímco aktivně provádíte transformace. Důvodem implementace tohoto procesu je zajistit, aby tyto transformace mohly probíhat na původním serveru zdroje dat a nezahltily výpočetní prostředky Power BI.
K načtení dat do Power BI můžete použít Power Query. Pak použijte Editor Power Query k transformaci dat, například k přejmenování nebo odstranění sloupců, připojení, parsování, filtrování nebo seskupení dat.
Uvažujte o situaci, kdy v údajích o prodeji přejmenujete několik sloupců, přičemž sloupce s městem a státem sloučíte do formátu „město stát“. Funkce skládání dotazů mezitím tyto změny sleduje v nativních dotazech. Když pak data načtete, proběhnou tyto transformace nezávisle v původním zdroji; to zajišťuje, že výkon Power BI je optimalizovaný.
Mezi výhody, které přináší skládání dotazů, patří:
Vyšší efektivita při aktualizacích dat a přírůstkových aktualizacích. Při importu datových tabulek pomocí posouvání dotazů dokáže Power BI lépe přidělovat prostředky a rychleji aktualizovat data, protože nemusí provádět každou transformaci místně.
Automatická kompatibilita s režimy úložiště DirectQuery a Duální. Všechny zdroje dat v režimu úložiště DirectQuery a Duální musí být schopny zpracování na back-endovém serveru, aby bylo možné vytvořit přímé připojení, což znamená, že skládání dotazů je schopnost, kterou můžete automaticky použít. Pokud lze všechny transformace redukovat na jeden příkaz Select, může proběhnout skládání dotazů.
Následující scénář ukazuje skládání dotazů v akci. V tomto scénáři se používá sada dotazů na několik tabulek. Po přidání nového zdroje dat pomocí Power Query a přesměrování na Editor Power Query přejděte do podokna Nastavení dotazů a klikněte pravým tlačítkem na poslední použitý krok, jak je znázorněno na následujícím obrázku.
Pokud možnost Zobrazit nativní dotaz není dostupná (nezobrazuje se tučným písmem), není pro tento krok možné posouvání dotazů a budete muset v oblasti Použitý postup pracovat zpětně, dokud se nedostanete ke kroku, ve kterém je k dispozici možnost Zobrazit nativní dotaz (zobrazí se tučným písmem). Tento proces odhalí nativní dotaz, který se používá k transformaci sémantického modelu.
Nativní dotazy nejsou možné pro následující transformace:
- Přidání indexového sloupce
- Sloučení a připojení sloupců různých tabulek se dvěma různými zdroji
- Změna datového typu sloupce
Dobrým vodítkem k zapamatování je, že pokud dokážete transformaci převést na příkaz SQL Select, který obsahuje operátory a klauzule jako GROUP BY, SORT BY, WHERE, UNION ALL a JOIN, můžete použít skládání dotazů.
Skládání dotazů je jednou možností optimalizace výkonu při načítání, importu a přípravě dat, přičemž další možností je diagnostika dotazů.
Diagnostika dotazů
Dalším nástrojem, který můžete použít ke zjištění výkonu dotazů, je diagnostika dotazů. Můžete určit, jaká kritická místa můžou existovat při načítání a transformaci dat, aktualizaci dat v Power Query, spouštění příkazů SQL v Editor Power Query atd.
V Editoru Power Query se k diagnostice dotazů dostanete tak, že přejdete na kartu Nástroje na pásu karet Domů. Až budete připraveni začít transformovat data nebo provádět jiné úpravy v Editor Power Query, vyberte Spustit diagnostiku v části Diagnostika relací. Až budete hotovi, ujistěte se, že jste vybrali Zastavit diagnostiku.
Výběrem možnosti Diagnostikovat krok zobrazíte dobu potřebnou ke spuštění tohoto kroku, jak je znázorněno na následujícím obrázku. Tak zjistíte, jestli nějaký krok trvá další dobu než ostatní, což pak poslouží jako výchozí bod pro další šetření.
Tento nástroj je užitečný, když chcete analyzovat výkon na Power Query straně pro úlohy, jako je načítání sémantických modelů, spouštění aktualizací dat nebo spouštění jiných transformačních úloh.
Další techniky optimalizace výkonu
Mezi další způsoby, jak optimalizovat výkon dotazů v Power BI, patří:
Zpracování co nejvíce dat v původním zdroji dat. Power Query a Editor Power Query umožňují zpracovávat data; výpočetní výkon, který je k tomu nutný, ale může snížit výkon v jiných oblastech sestav. Obecně platí, že osvědčeným postupem je zpracovat co nejvíce v nativním zdroji dat.
Použití nativních dotazů SQL. Pokud používáte DirectQuery pro databáze SQL, například v našem scénáři, ujistěte se, že nepřetahujete data z uložených procedur nebo běžných tabulkových výrazů (CTE).
Oddělení data a času, pokud jsou svázány dohromady. Pokud některé z tabulek obsahují sloupce, které kombinují datum a čas, nezapomeňte je před importem do Power BI oddělit do samostatných sloupců. Tento postup zlepší schopnosti komprese.
Další informace najdete v článku Pokyny ke skládání dotazů a Skládání dotazů.