Použití DirectQuery v Power BI Desktopu

Když se připojíte k libovolnému zdroji dat pomocí Power BI Desktopu, můžete importovat kopii dat. U některých zdrojů dat se také můžete připojit přímo ke zdroji dat bez importu dat pomocí DirectQuery.

Pokud chcete zjistit, jestli zdroj dat podporuje DirectQuery, podívejte se na úplný seznam dostupných zdrojů dat, které najdete v článku Připojení orů v Power Query, které platí i pro Power BI, vyberte článek, který popisuje zdroj dat, který vás zajímá, ze seznamu podporovaných konektorů a pak se podívejte na část s názvem Podporované funkce konektoru. Pokud directQuery není uvedený v této části článku zdroje dat, directQuery se pro tento datový konektor nepodporuje.

Tady jsou rozdíly mezi režimy připojení importu a DirectQuery:

  • Import: Kopie dat z vybraných tabulek a sloupců importuje do Power BI Desktopu. Při vytváření vizualizací nebo práci s nimi používá Power BI Desktop importovaná data. Pokud chcete zobrazit změny podkladových dat po počátečním importu nebo nejnovější aktualizaci, je nutné znovu naimportovat úplný sémantický model, aby se data aktualizovala.

  • DirectQuery: Do Power BI Desktopu se neimportují žádná data. U relačních zdrojů můžete vybrat tabulky a sloupce, které se zobrazí v seznamu polí Power BI Desktopu. U multidimenzionálních zdrojů, jako je SAP Business Warehouse (SAP BW), se dimenze a míry vybrané datové krychle zobrazí v seznamu Pole . Při vytváření vizualizací nebo práci s nimi Power BI Desktop dotazuje podkladový zdroj dat, takže si vždy prohlížíte aktuální data.

Když s DirectQuery vytváříte vizualizaci nebo pracujete s ní, musíte se dotazovat na podkladový zdroj. Doba potřebná k aktualizaci vizualizace závisí na výkonu podkladového zdroje dat. Pokud se data potřebná ke službě požadavku v poslední době požadovala, Power BI Desktop použije nedávná data ke zkrácení času potřebného k zobrazení vizualizace. Výběrem možnosti Aktualizovat na pásu karet Domů se aktualizují všechny vizualizace s aktuálními daty.

Při použití DirectQuery je k dispozici mnoho datových modelování a transformací dat, i když s určitými omezeními založenými na výkonu. Další informace o výhodách, omezeních a doporučeních DirectQuery najdete v tématu DirectQuery v Power BI.

Výhody DirectQuery

Mezi výhody použití DirectQuery patří:

  • DirectQuery umožňuje vytvářet vizualizace přes velmi velké sémantické modely, kde by nebylo možné importovat všechna data s předem agregací.

  • Sestavy DirectQuery vždy používají aktuální data. Zobrazení změn podkladových dat vyžaduje aktualizaci dat a opětovné importování velkých sémantických modelů k aktualizaci dat může být neproveditelné.

  • Omezení sémantického modelu o velikosti 1 GB se u DirectQuery nevztahuje.

Připojení pomocí DirectQuery

Připojení ke zdroji dat pomocí DirectQuery:

  1. Ve skupině Domů na pásu karet Power BI Desktopu vyberte Získat data a pak vyberte zdroj dat, který DirectQuery podporuje, například SQL Server.

  2. V dialogovém okně pro připojení v části Režim připojení dat vyberte DirectQuery.

Možnosti Import a DirectQuery, dialogové okno databáze SQL Serveru, Power BI Desktop

Publikování do služby Power BI

Sestavy DirectQuery můžete publikovat do služba Power BI, ale k otevření sestav je potřeba provést další kroky pro služba Power BI.

  • Pokud chcete připojit služba Power BI k jiným zdrojům dat DirectQuery než Azure SQL Database, Azure Synapse Analytics (dříve SQL Data Warehouse), Amazon Redshift a Snowflake Data Warehouse, nainstalujte místní bránu dat a zaregistrujte zdroj dat.

  • Pokud jste použili DirectQuery s cloudovými zdroji, jako jsou Azure SQL Database, Azure Synapse, Amazon Redshift nebo Snowflake Data Warehouse, nepotřebujete místní bránu dat. Stále musíte zadat přihlašovací údaje pro služba Power BI, aby se otevřela publikovaná sestava. Bez přihlašovacích údajů dojde k chybě při pokusu o otevření publikované sestavy nebo prozkoumání sémantického modelu vytvořeného pomocí připojení DirectQuery.

Zadání přihlašovacích údajů pro otevření sestavy a aktualizaci dat:

  1. V služba Power BI vyberte ikonu ozubeného kola v pravém horním rohu a zvolte Nastavení.

    Snímek obrazovky s rozevírací nabídkou služba Power BI Nastavení

  2. Na stránce Nastavení vyberte kartu Sémantické modely a zvolte sémantický model, který používá DirectQuery.

  3. V části Připojení ke zdroji dat zadejte přihlašovací údaje pro připojení ke zdroji dat.

Poznámka:

Pokud jste použili DirectQuery se službou Azure SQL Database, která má privátní IP adresu, musíte použít místní bránu.

Úvahy a omezení

Některé funkce Power BI Desktopu nejsou podporované v režimu DirectQuery nebo mají omezení. Některé funkce v služba Power BI, jako jsou rychlé přehledy, také nejsou dostupné pro sémantické modely, které používají DirectQuery. Když se rozhodnete, jestli se má DirectQuery používat, zvažte tato omezení funkcí. Zvažte také následující faktory:

Důležité informace o výkonu a zatížení

DirectQuery odesílá všechny požadavky do zdrojové databáze, takže požadovaná doba aktualizace vizuálů závisí na tom, jak dlouho podkladový zdroj trvá vrácení výsledků. Pět sekund nebo méně je doporučená doba odezvy pro příjem požadovaných dat pro vizuály. Doba aktualizace nad 30 sekund vede k nepřijatelnému špatnému prostředí pro uživatele, kteří sestavu využívají. Dotaz, který v služba Power BI trvá déle než čtyři minuty, vyprší a uživateli se zobrazí chyba.

Zatížení zdrojové databáze také závisí na počtu uživatelů Power BI, kteří publikovanou sestavu spotřebovávají, zejména v případě, že sestava používá zabezpečení na úrovni řádků (RLS). Aktualizace dlaždice řídicího panelu, která není RLS sdílená více uživateli, odešle do databáze jeden dotaz, ale aktualizace dlaždice řídicího panelu, která používá zabezpečení na úrovni řádků, vyžaduje jeden dotaz na uživatele. Zvýšené dotazy výrazně zvyšují zatížení a potenciálně ovlivňují výkon.

Limit jednoho milionu řádků

DirectQuery definuje limit jednoho milionu řádků pro data vrácená z cloudových zdrojů dat, což jsou všechny zdroje dat, které nejsou místní. Místní zdroje jsou omezené na definovanou datovou část o velikosti přibližně 4 MB na řádek v závislosti na proprietárním algoritmu komprese nebo 16 MB pro celý vizuál. Kapacity Premium můžou nastavit různá maximální omezení řádků, jak je popsáno v blogovém příspěvku o novém nastavení kapacity Power BI Premium.

Power BI vytváří dotazy, které jsou co nejefektivnější, ale některé vygenerované dotazy můžou načíst z podkladového zdroje dat příliš mnoho řádků. K této situaci může dojít například u jednoduchého grafu, který obsahuje sloupec s vysokou kardinalitou s možností agregace nastavenou na Možnost Nevyhrnovat. Vizuál musí mít pouze sloupce s kardinalitou nižší než 1 milion nebo musí použít příslušné filtry.

Limit řádku se nevztahuje na agregace nebo výpočty použité k výběru sémantického modelu DirectQuery, pouze na vrácené řádky. Například dotaz, který běží na zdroji dat, může agregovat 10 milionů řádků. Pokud jsou data vrácená do Power BI menší než 1 milion řádků, může dotaz přesně vrátit výsledky. Pokud data překročí 1 milion řádků, Power BI zobrazí chybu s výjimkou kapacity Premium s různými limity nastavenými správcem. Chybové stavy: Sada výsledků dotazu na externí zdroj dat překročila maximální povolenou velikost řádků 1000000.

Bezpečnostní aspekty

Ve výchozím nastavení se všichni uživatelé, kteří používají publikovanou sestavu v služba Power BI připojují k podkladovému zdroji dat pomocí přihlašovacích údajů zadaných po publikování. Tato situace je stejná jako u importovaných dat. Všichni uživatelé vidí stejná data bez ohledu na všechna pravidla zabezpečení, která podkladový zdroj definuje.

Pokud potřebujete zabezpečení pro jednotlivé uživatele implementované se zdroji DirectQuery, použijte zabezpečení na úrovni řádků nebo nakonfigurujte ověřování omezené protokolem Kerberos vůči zdroji. Protokol Kerberos není k dispozici pro všechny zdroje. Další informace najdete v tématu Zabezpečení na úrovni řádků (RLS) pomocí Power BI a konfigurace jednotného přihlašování založeného na protokolu Kerberos z služba Power BI k místním zdrojům dat.

Další omezení DirectQuery

Mezi další omezení používání DirectQuery patří:

  • Pokud je Editor Power Query dotaz příliš složitý, dojde k chybě. Pokud chcete chybu opravit, musíte buď odstranit problematický krok v Editor Power Query, nebo přepnout do režimu importu. Multidimenzionální zdroje, jako je SAP BW, nemůžou používat Editor Power Query.

  • Automatická hierarchie data a času není v DirectQuery dostupná. Režim DirectQuery nepodporuje přechod k podrobnostem sloupce kalendářních dat podle roku, čtvrtletí, měsíce nebo dne.

  • U vizualizací tabulek nebo matic existuje limit 125 sloupců pro výsledky, které vrací více než 500 řádků ze zdrojů DirectQuery. Tyto výsledky zobrazují posuvník v tabulce nebo matici, který umožňuje načíst další data. V takovém případě je maximální počet sloupců v tabulce nebo matici 125. Pokud do jedné tabulky nebo matice musíte zahrnout více než 125 sloupců, zvažte vytvoření měr, které používají MIN, MAX, FIRSTnebo LAST, protože se do tohoto maxima nezapočítávají.

  • Z režimu importu na DirectQuery se nedá změnit. Pokud importujete všechna potřebná data, můžete přepnout z režimu DirectQuery na režim importu. Není možné přepnout zpět, většinou kvůli sadě funkcí, kterou DirectQuery nepodporuje. Modely DirectQuery nad multidimenzionálními zdroji, jako je SAP BW, není možné přepnout z DirectQuery na režim importu ani kvůli odlišnému zacházení s externími mírami.

  • Počítané tabulky a počítané sloupce odkazující na tabulku DirectQuery ze zdroje dat s ověřováním jednotného přihlašování (SSO) se v služba Power BI nepodporují.