Režim úložiště tabulek v sémantických modelech Power BI

V sémantických modelech Power BI závisí režim úložiště tabulky na jeho zdroji dat. Režim úložiště můžete použít k řízení, jestli Power BI ukládá data tabulky do paměti pro sestavy nebo načítá data ze zdroje dat při načítání vizuálů.

Tento článek vás seznámí s různými režimy úložiště tabulek a popisuje, jak ovlivňují chování sestavy.

Režimy úložiště tabulek

Režim úložiště tabulek Pokud je k dispozici Výhody Poznámka
Dovoz Když v Power BI Desktopu a webovém modelování Power BI vyberete Téměř všechny zdroje dat, vyberete Možnost Získat data a použijete Power Query. Snímek dat je uložený v nativním úložišti pro rychlé načítání vizuálů v sestavách. Pokud chcete získat nejnovější data ze zdroje dat, aktualizujte sémantický model nebo tabulku.
Direct Lake na OneLake Při výběru katalogu OneLake v Power BI Desktopu a webovém modelování Power BI pro zdroje dat Microsoft Fabric. Data se kontrolují z tabulek Microsoft OneLake Delta pro rychlé načítání vizuálů v sestavách. Ve výchozím nastavení se načtou nejnovější data. Pokud chcete získat přístup k nejnovějším datům tak, že je aktualizujete ručně, vypněte automatickou synchronizaci na stránce nastavení plánované aktualizace. Aktualizace se také označuje jako reframing pro Direct Lake. Další informace o Direct Lake najdete v tématu Přehled Direct Lake.
Direct Lake na SQL Když v analytických koncových bodech SQL položek prostředků infrastruktury vyberete Nový sémantický model. Data jsou skenována z tabulek Delta OneLake pro rychlé načtení do sestav. V tomto režimu Používá Power BI režim úložiště DirectQuery pro přístup k datům v následujících případech:
- Použije se zobrazení.
– Je povolený podrobný přístup SQL.
- Je dosaženo mantinely Direct Lake.
DirectQuery Když v Power BI Desktopu vyberete Možnost Získat data a použijete Power Query pro některé zdroje dat, jako jsou databáze SQL. Data se dotazují ze zdroje dat, když se vizuály načtou a neukládají se v sémantickém modelu. Dotaz je překlad z dotazu DAX (Data Analysis Expressions) Power BI, který vizuály používají, do nativního dotazovacího jazyka zdroje dat, jako je například dotaz SQL.
DirectQuery v sémantických modelech Power BI Když se v Power BI Desktopu připojíte k sémantickému modelu Power BI a pak vyberete Provést změny v tomto modelu nebo když už je přidaná tabulka Import nebo DirectQuery. Dotazy DAX z nového modelu běží na zdrojovém modelu a můžou používat míry z obou. Některé vlastnosti sloupce ve vzdáleném modelu je možné přepsat v novém modelu. Toto přizpůsobení zahrnuje formátovací řetězce a zobrazované názvy. Tento režim úložiště použijte, když potřebujete provést malou změnu existujícího sémantického modelu pro konkrétní zprávu.
Dvojitý Když v Power BI Desktopu převedete tabulku DirectQuery do režimu importu. Zobrazí se dialogové okno s možnostmi převodu zbývajících tabulek DirectQuery na duální režim. Relace mezi tabulkami DirectQuery a Import jsou omezené. Přepnutím z DirectQuery na duální režim můžete tyto vztahy udržovat v pravidelných intervalech.
Hybridní Ve scénářích přírůstkové aktualizace v tabulce Import. Nejnovější oddíl tabulky může být v režimu DirectQuery, který pomáhá zajistit dostupnost nejnovějších dat mezi aktualizacemi importu. Vytváření a správa oddílů se automatizují, aby se snížil objem dat, která je potřeba aktualizovat. Další informace najdete v tématu Konfigurace přírůstkové aktualizace a dat v reálném čase pro sémantické modely Power BI.

Poznámka

Režim živého připojení se používá v následujících případech:

  • Připojení k sémantickému modelu Power BI v Power BI Desktopu za účelem vytvoření sestavy
  • Vytvoření sestavy z sémantického modelu Power BI na webu

Sestava Live Connect nemá žádný místní sémantický model a někdy se nazývá dynamická sestava. Vzdálený sémantický model Power BI může používat libovolný režim úložiště tabulek. Jako autor sestavy můžete model zobrazit v zobrazení modelu , ale k dispozici jsou jenom omezené informace. Míry, které vytvoříte, se ukládají v sestavě.

Složený sémantický model je sémantický model s tabulkami v více než jednom režimu úložiště. Další informace najdete v tématu Použití složených modelů v Power BI.

Zobrazení režimu úložiště tabulky

Každá tabulka má Storage mode vlastnost. Pokud chcete zobrazit režim úložiště tabulky, postupujte takto:

  1. V zobrazení Model vyberte tabulku.

  2. V podokně Vlastnosti rozbalte oddíl Upřesnit a potom rozbalte seznam režim úložiště .

    Snímek obrazovky se zobrazením Modelu v Power BI Desktopu Jedna tabulka je zvýrazněná. V části Vlastnosti se rozbalí a zvýrazní seznam režim úložiště.

U většiny tabulek můžete režim úložiště nastavit jenom v případě, že tabulku přidáte. Režim úložiště můžete změnit pouze v případě, že je tabulka v režimu DirectQuery nebo Direct Lake v režimu OneLake při vytváření:

  • Tabulku DirectQuery můžete změnit na tabulku Import nebo Duální. Po nastavení této vlastnosti nemůžete režim nastavit zpět na DirectQuery. Výjimky jsou webové modelování Power BI a živé úpravy v Power BI Desktopu. Obě tato prostředí mají správu verzí, kterou můžete použít k obrácení změně režimu úložiště.
  • Direct Lake v tabulkách OneLake můžete převést na tabulky Import pomocí sémantických testovacích prostředí propojení v poznámkových blocích Fabric.

Omezení pro tabulky DirectQuery a Dual

Duální tabulky mají stejná funkční omezení jako tabulky DirectQuery. Tato omezení zahrnují omezené transformace jazyka M a omezené funkce DAX v počítaných sloupcích. Další informace najdete o omezeních DirectQuery .

Šíření duálního nastavení

Zvažte následující model. Všechny tabulky pocházejí z jednoho zdroje, který podporuje režimy Import a DirectQuery.

Snímek obrazovky se zobrazením modelu Power BI Desktopu, které zobrazuje relace mezi pěti tabulkami: Date(Datum), Sales (Prodej), SurveyResponse (Průzkum), Customer (Zákazník) a Geography (Zeměpis).

Předpokládejme, že všechny tabulky v tomto modelu jsou zpočátku nastavené na DirectQuery. Pokud změníte režim úložiště tabulky SurveyResponse na Import, zobrazí se následující okno upozornění:

Snímek obrazovky s oknem, které popisuje účinek změny režimu úložiště na Import s možností nastavení tabulek dimenzí na duální režim

Tabulky dimenzí, Customer, Geography a Date můžete nastavit na duální režim, abyste snížili počet omezených relací v sémantickém modelu a pomohli zlepšit výkon. Omezené relace obvykle zahrnují alespoň jednu tabulku DirectQuery, kde JOIN logika nemůže být vložena do zdrojových systémů. Vzhledem k tomu, že duální tabulky můžou fungovat jako tabulky DirectQuery nebo Import, této situaci se vyhnete.

Logika šíření je navržená tak, aby pomohla s modely, které obsahují mnoho tabulek. Předpokládejme, že máte model s 50 tabulkami a je potřeba ukládat do mezipaměti pouze určité tabulky faktů (transakčních). Logika v Power BI Desktopu vypočítá minimální sadu tabulek dimenzí, které musí být nastaveny na duální režim, takže nemusíte.

Logika šíření prochází pouze na jednu stranu relací 1 :N.

Příklad použití režimu úložiště

Představte si příklad, který zahrnuje následující tabulky a režimy úložiště:

Stůl Režim úložiště
Sales DirectQuery
SurveyResponse Dovoz
Datum Dvojitý
Zákazník Dvojitý
Zeměpis Dvojitý

Použití těchto režimů úložiště vede k následujícímu chování za předpokladu, že tabulka Sales má významný objem dat:

  • Power BI Desktop ukládá tabulky dimenzí do mezipaměti, data, zákazníka a zeměpis, což pomáhá zkrátit dobu načítání počátečních sestav při načítání hodnot průřezu, které se mají zobrazit.

  • Power BI Desktop neuloží tabulku Sales do mezipaměti.

    • Ukládání této tabulky do mezipaměti pomáhá zlepšit dobu aktualizace dat a snížit spotřebu paměti.
    • Dotazy sestavy založené na tabulce Sales (Prodej ) běží v režimu DirectQuery. Tyto dotazy můžou trvat déle než importované dotazy. Výsledky dotazů DirectQuery jsou ale blíže výsledkům v reálném čase, protože se nezavádějí žádné latence ukládání do mezipaměti.
  • Dotazy sestavy založené na tabulce SurveyResponse jsou poměrně rychlé, protože se vrací z mezipaměti v paměti.

Dotazy, které zasáhly nebo minuly mezipaměť

Pomocí nástroje SQL Server Profiler můžete zjistit, které dotazy narazily nebo zmeškaly mezipaměť v paměti. Pokud tento nástroj připojíte k portu diagnostiky pro Power BI Desktop, můžete provést trasování založené na následujících událostech:

  • Události dotazů\Začátek dotazu
  • Zpracování dotazů\Začátek dotazu Vertipaq SE
  • Zpracování dotazů\Začátek DirectQuery

U každé události Zahájení dotazu zkontrolujte další události se stejnou ActivityID hodnotou. Pokud například neexistuje událost Zahájení DirectQuery, ale existuje událost Zahájení Vertipaq SE dotazu, je dotaz zodpovězen z mezipaměti.

Dotazy, které odkazují na duální tabulky, vrací data z mezipaměti, pokud je to možné. Jinak se vrátí do režimu DirectQuery.

Zvažte několik dotazů DAX, které odkazují na tabulky v předchozí části. Následující dotaz například odkazuje pouze na sloupec z tabulky Date (Datum ), který je v duálním režimu. Proto by dotaz měl narazit na mezipaměť:

Snímek obrazovky s textem dotazu, který odkazuje na tabulku Kalendářní datum

Následující dotaz odkazuje pouze na sloupec z tabulky Prodej , který je v režimu DirectQuery. Proto by nemělo do mezipaměti:

Snímek obrazovky znázorňující text dotazu, který odkazuje na tabulku Sales

Následující dotaz je zajímavý, protože kombinuje oba sloupce. Tento dotaz nenarazí na mezipaměť. Zpočátku můžete očekávat, že načte hodnoty CalendarYear z mezipaměti a hodnoty SalesAmount ze zdroje a pak výsledky zkombinují. Tento přístup je ale méně efektivní než odeslání SUM operace GROUP BY do zdrojového systému. Pokud zdroj provede operaci, vrátí se pouze součet tržeb za každý rok. Tento výsledek pravděpodobně obsahuje mnohem méně řádků, než kdyby se vrátily všechny hodnoty SalesAmount .

Snímek obrazovky znázorňující text dotazu, který odkazuje na tabulku Kalendářní datum i tabulku Sales

Poznámka

Toto chování se liší od relací M:N v Power BI Desktopu při kombinování tabulek uložených v mezipaměti s tabulkami, které nejsou uložené v mezipaměti.

Zachování mezipamětí v synchronizaci

Dotazy v předchozí části ukazují, že duální tabulky někdy do mezipaměti narazily a někdy ne. V důsledku toho se hodnoty vrácené z zastaralé mezipaměti můžou lišit od hodnot vrácených ze zdroje. Spuštění dotazu se nepokouší maskovat problémy s daty, například filtrováním výsledků DirectQuery tak, aby odpovídaly hodnotám uloženým v mezipaměti. Je vaší zodpovědností znát toky dat a měli byste ho navrhnout odpovídajícím způsobem. V případě potřeby existují zavedené techniky pro zpracování takových případů ve zdroji.

Režim duálního úložiště je optimalizace výkonu. Měli byste ho používat jenom způsoby, které neohrožuje schopnost splnit obchodní požadavky. Pro alternativní chování zvažte použití technik popsaných v tématu Vysvětlení relací M:N v Power BI Desktopu.

Zobrazení tabulky

Pokud má alespoň jedna tabulka v sémantickém modelu režim úložiště Import nebo Duální, je k dispozici karta Zobrazení tabulky Power BI.

Snímek obrazovky se zobrazením tabulky v Power BI Desktopu Ikona Zobrazení tabulky je zvýrazněná a v tabulce se zobrazuje více řádků dat.

Když v zobrazení tabulky vyberete duální tabulku nebo Import, zobrazí se její data uložená v mezipaměti. Pro tabulky DirectQuery se nezobrazují žádná data. Místo toho se zobrazí zpráva s informacemi, že tabulky DirectQuery se nedají zobrazit.

Důležité informace a omezení

V současné době existuje několik omezení pro režimy úložiště tabulek a použití určitých režimů ve složených modelech:

S složenými modely se nedají použít následující živé zdroje připojení (multidimenzionální):

  • SAP HANA
  • SAP Business Warehouse

Když se k těmto multidimenzionálním zdrojům připojíte pomocí režimu DirectQuery, nemůžete se připojit k jinému zdroji DirectQuery ani ho kombinovat s importovanými daty.

Omezení používání režimu DirectQuery platí i při použití složených modelů. Mnoho z těchto omezení platí na úrovni tabulky a závisí na režimu úložiště tabulky. Například počítaný sloupec v importované tabulce může odkazovat na jiné tabulky, ale počítaný sloupec v tabulce DirectQuery může odkazovat pouze na sloupce ve stejné tabulce. Další omezení platí pro model jako celek, pokud některé z tabulek v modelu jsou v režimu DirectQuery.

Další informace o složených modelech a režimu DirectQuery najdete v následujících článcích: