Záznam diagnostiky dotazů v Power BI

Při vytváření dotazu v Power Query je základním pracovním postupem připojení ke zdroji dat, použití některých transformací, potenciálně aktualizace dat v editoru Power Query a následné načtení do modelu Power BI. Jakmile jsou data v modelu Power BI, můžete je kdykoli aktualizovat v Power BI Desktopu (pokud k zobrazení analýz používáte Desktop), a to kromě aktualizací, které ve službě provádíte.

Ačkoli můžete na konci procesu tvorby, při aktualizaci v editoru nebo při aktualizaci v samotném Power BI dosáhnout podobného výsledku, software pro různé způsoby použití, které nabízí, provádí velmi odlišná vyhodnocení. Je důležité vědět, co očekávat při provádění diagnostiky dotazů v těchto různých pracovních postupech, abyste nebyli překvapeni různými diagnostickými daty.

Pokud chcete spustit diagnostiku dotazů, přejděte na kartu Nástroje na pásu karet editoru Power Query. Uvidíte několik různých možností.

Snímek obrazovky panelu nástrojů editoru Power Query.

K dispozici jsou dvě hlavní možnosti: Diagnostikovat krok a Spustit diagnostiku (spolu s Zastavit diagnostiku). První možnost poskytuje informace o dotazu až do vybraného kroku a je nejužitečnější pro pochopení operací prováděných místně nebo vzdáleně v dotazu. Druhá možnost poskytuje lepší přehled o různých dalších případech, které jsou popsány v následující části.

Specifika konektorů

Tento článek se nemůže zabývat všemi různými permutacemi dostupnými v diagnostice dotazů. Mnoho věcí může změnit zobrazené výsledky, mezi které patří:

  • Connector
  • Použité transformace
  • Systém, na kterém běžíte
  • Konfigurace sítě
  • Rozšířené možnosti konfigurace
  • Konfigurace rozhraní ODBC

Pro nejširší pokrytí se tento článek zaměřuje na diagnostiku dotazů v tabulce Northwind Customers, a to jak v SQL, tak na OData. Poznámky k OData používají veřejný endpoint dostupný na webu OData.org, zatímco SQL Server si musíte zajistit sami. Mnoho zdrojů dat se od těchto zdrojů výrazně liší. V průběhu času Microsoft přidává dokumentaci ke konkrétnímu konektoru.

Spuštění a zastavení diagnostiky

Příkazy Spustit diagnostiku a Zastavit diagnostiku pokrývají více scénářů než Diagnostikovat krok. Poskytují také další informace, které potřebujete řadit. Například spuštění diagnostiky, aktualizace verze Preview a následné zastavení diagnostiky poskytuje ekvivalentní informace ke spuštění kroku diagnostiky v každém kroku. Tato ekvivalence existuje z důvodu toho, jak Power Query funguje v editoru, aby každý krok aktualizoval nezávisle.

Pokud chcete spustit nahrávání, vyberte Spustit diagnostiku, proveďte požadovaná vyhodnocení (vytváření, aktualizace náhledu, úplná aktualizace) a pak vyberte Zastavit diagnostiku.

Vytváření obsahu

Pracovní postup vytváření se primárně liší od jiných pracovních postupů v tom, že obecně generuje více individuálních hodnocení. Jak je popsáno v primárním článku o diagnostice dotazů, výsledkem těchto vyhodnocení je naplnění různých uživatelských rozhraní, jako jsou například rozevírací seznamy navigátoru nebo filtru.

Tato část vás provede příkladem. Příklad používá konektor OData, ale při kontrole výstupu se také podíváte na verzi SQL stejné databáze. U obou zdrojů dat se ke zdroji dat připojíte prostřednictvím nového zdroje, posledních zdrojů nebo získání dat. Pro připojení SQL musíte zadat přihlašovací údaje pro váš server, ale pro veřejný koncový bod OData můžete zadat dříve propojený koncový bod.

Snímek obrazovky znázorňující připojení OData

Po připojení a výběru ověřování vyberte tabulku Zákazníci ze služby OData.

Snímek obrazovky znázorňující navigaci Northwind

V rozhraní Power Query se zobrazí tabulka Zákazníci. Předpokládejme, že chcete zjistit, kolik prodejních zástupců existuje v různých zemích nebo oblastech. Nejprve klikněte pravým tlačítkem myši na Obchodní zástupce ve sloupci Název kontaktu , najeďte myší na Filtry textu a vyberte Rovná se.

Snímek obrazovky znázorňující možnost filtru textu

Teď na pásu karet vyberte Seskupit podle a proveďte seskupení podle Země s agregací Počet.

Snímek obrazovky znázorňující operaci Seskupovat podle

Zobrazí se stejná data, která vidíte na následujícím obrázku.

Snímek obrazovky znázorňující výsledky

Nakonec se vraťte na kartu Nástroje na pásu karet a vyberte Zastavit diagnostiku. Tato akce zastaví trasování a sestaví váš diagnostický soubor. Souhrn a podrobné tabulky se zobrazí na levé straně.

Pokud sledujete průběh celé relace vytváření, obvykle uvidíte něco jako vyhodnocení zdrojového dotazu, poté vyhodnocení související s příslušným navigátorem a pak alespoň jeden dotaz odeslaný při každém kroku, který použijete (případně i více, v závislosti na konkrétních akcích provedených v uživatelském rozhraní). V některých konektorech dochází k paralelním vyhodnocením z důvodů výkonu, které poskytují podobné sady dat.

Aktualizace náhledu

Po dokončení transformace dat vytvoříte v dotazu posloupnost kroků. Když v editoru Power Query vyberete Aktualizovat náhled nebo Aktualizovat vše, v diagnostice dotazů se nezobrazí jenom jeden krok. Aktualizace v Editor Power Query explicitně aktualizuje dotaz, který končí posledním použitým krokem. Poté se vrátí zpět přes použité kroky a aktualizuje dotaz k tomuto bodu až ke zdroji.

Tento proces znamená, že pokud máte v dotazu pět kroků, včetně zdroje a navigátoru, uvidíte v diagnostice pět různých vyhodnocení. První vyhodnocení, chronologicky, často (ale ne vždy) trvá nejdelší. Dvě různé důvody způsobují delší dobu trvání:

  • Potenciálně ukládá vstupní data do mezipaměti, aby k nim dotazy, které se spouštějí až po něm (a představují dřívější kroky v uživatelském dotazu), mohly lokálně přistupovat rychleji.
  • Jsou na něj aplikovány transformace, které výrazně omezují množství vracených dat.

Když vyberete Aktualizovat vše, aktualizuje se všechny dotazy. Potřebujete filtrovat podle těch, které vás zajímají, jak byste mohli očekávat.

Úplná aktualizace

Diagnostiku dotazů je možné použít k diagnostice takzvaného konečného dotazu, který se vygeneruje během aktualizace v Power BI, a ne jenom k prostředí editoru Power Query. Abyste to mohli udělat, musíte nejprve načíst data do modelu jednou. Pokud to plánujete udělat, mějte na paměti, že pokud vyberete Close and Apply, okno editoru se zavře (čímž se přeruší trasování), takže to musíte udělat buď při druhém obnovení, nebo místo toho vybrat ikonu rozevírací nabídky pod Close and Apply a zvolit Apply.

Snímek obrazovky znázorňující tlačítko pro použití změn dotazu

V obou směrech nezapomeňte v části Diagnostika v editoru vybrat možnost Spustit diagnostiku na kartě Nástroje. Když vyberete tuto možnost, aktualizujte model nebo dokonce jenom tabulku, na které vám záleží.

Snímek obrazovky znázorňující možnost aktualizace dat

Po dokončení načítání dat do modelu vyberte Zastavit diagnostiku.

Zobrazí se určitá kombinace metadat a datových dotazů. Volání metadat získávají o zdroji dat všechny informace, které mohou. Načítání dat se týká přístupu ke zdroji dat, sestavení konečného dotazu na zdroj dat s optimalizovanými operacemi a následného provedení zbývajících vyhodnocení místně.

Je důležité si uvědomit, že jenom proto, že v diagnostice vidíte prostředek (databázi, webový koncový bod atd.) nebo dotaz na zdroj dat, neznamená to, že nutně provádí síťovou aktivitu. Power Query může tyto informace načíst z mezipaměti.

Diagnostický krok

Funkce Diagnostika kroku poskytuje přehled o tom, jaká vyhodnocení proběhnou až po konkrétní krok. Tyto informace vám pomohou určit, jak výkon vypadá až do daného kroku a které části dotazu se spouštějí lokálně nebo vzdáleně.

Pokud v dotazu, který jste vytvořili dříve, použijete funkci Diagnostika kroku , uvidíte, že vrací přibližně 10 řádků. Pokud se podíváte na poslední řádek s dotazem zdroje dat, získáte jasný přehled o tom, jak konečný vygenerovaný dotaz vypadá ve zdroji dat. V tomto případě vidíte, že Power Query vzdáleně filtruje obchodního zástupce, ale seskupení probíhá místně.

Snímek obrazovky znázorňující filtrovanou a seskupenou tabulku Zákazníci

Pokud spustíte a zastavíte diagnostiku a aktualizujete stejný dotaz, získáte 40 řádků. Jak už bylo zmíněno dříve, Power Query získá informace o každém kroku, nejen o posledním kroku. Toto chování znesnadňuje získání přehledu o jedné konkrétní části dotazu.