Řešení potíží s přírůstkovou aktualizací a daty v reálném čase

Při implementaci přírůstkové aktualizace a datového řešení v reálném čase existují dvě fáze, první konfigurace parametrů, filtrování a definování zásad v Power BI Desktopu a druhá počáteční operace aktualizace sémantického modelu a následné aktualizace ve službě. Tento článek popisuje řešení potíží zvlášť pro každou z těchto fází.

Při dělení tabulky v služba Power BI je důležité mít na paměti, že přírůstkově aktualizované tabulky, které také získávají data v reálném čase pomocí DirectQuery, teď fungují v hybridním režimu, což znamená, že fungují v režimu importu i DirectQuery. Všechny tabulky s relacemi s takovou přírůstkovou aktualizací hybridní tabulky musí používat duální režim, aby je bylo možné použít v režimu importu a DirectQuery bez sankcí za výkon. Vizuály sestav můžou navíc ukládat výsledky do mezipaměti, aby se zabránilo odesílání dotazů zpět do zdroje dat, což by tabulce zabránilo v vyzvednutí nejnovějších aktualizací dat v reálném čase. Poslední část řešení potíží se věnuje těmto problémům s hybridním režimem.

Před řešením potíží s přírůstkovou aktualizací a daty v reálném čase zkontrolujte přírůstkovou aktualizaci modelů a dat v reálném čase a podrobné informace v části Konfigurace přírůstkové aktualizace a dat v reálném čase.

Konfigurace v Power BI Desktopu

Většina problémů, ke kterým dochází při konfiguraci přírůstkové aktualizace a dat v reálném čase, se musí s posouváním dotazů dělat. Jak je popsáno v přehledu přírůstkové aktualizace modelů – podporované zdroje dat, musí zdroj dat podporovat posouvání dotazů.

Problém: Načítání dat trvá příliš dlouho

V Editor Power Query po výběru možnosti Použít trvá načítání dat příliš dlouho a počítačových prostředků. Existuje několik možných příčin.

Příčina: Neshoda datových typů

Příčinou tohoto problému může být neshoda datových typů, kdy Date/Time je požadovaný datový typ pro RangeStart parametry a RangeEnd parametry, ale sloupec kalendářního data tabulky, u kterého se filtry použijí, nejsou Date/Time datový typ nebo naopak. Datový typ parametrů i filtrovaný datový sloupec musí být Date/Time datový typ a formát musí být stejný. Pokud ne, dotaz se nedá přeložit.

Řešení: Ověření datového typu

Ověřte, že sloupec data a času pro tabulku přírůstkové aktualizace je Date/Time datový typ. Pokud tabulka neobsahuje sloupec datového Date/Time typu, ale používá celočíselné datové typy, můžete vytvořit funkci, která převede hodnotu data a času v RangeStart parametrech RangeEnd tak, aby odpovídala celočíselnému náhradnímu klíči tabulky zdroje dat. Další informace najdete v tématu Konfigurace přírůstkové aktualizace – převod data a času na celé číslo.

Příčina: Zdroj dat nepodporuje posouvání dotazů.

Jak je popsáno v přírůstkové aktualizaci a datech v reálném čase pro modely – Požadavky, přírůstková aktualizace je určená pro zdroje dat, které podporují posouvání dotazů. Před publikováním do služby se ujistěte, že se dotazy na zdroje dat v Power BI Desktopu skládají, kde se dají výrazně skládat problémy s posouváním dotazů. Tento přístup je zvlášť důležitý, pokud do zásad přírůstkové aktualizace zahrnete data v reálném čase, protože oddíl DirectQuery v reálném čase vyžaduje posouvání dotazů.

Řešení: Ověření a testování dotazů

Ve většině případů se v dialogovém okně zásad přírůstkové aktualizace zobrazí upozornění, které indikuje, jestli dotaz, který se má spustit ve zdroji dat, nepodporuje posouvání dotazů. V některých případech ale může být nutné ještě více zajistit posouvání dotazů. Pokud je to možné, monitorujte dotaz předávaný do zdroje dat pomocí nástroje, jako je SQL Profiler. Dotaz s filtry na RangeStart základě a RangeEnd musí být proveden v jednom dotazu.

Můžete také zadat krátké datum a časové období v parametrech RangeStartRangeEnd , které neobsahují více než několik tisíc řádků. Pokud zatížení filtrovaných dat ze zdroje dat do modelu trvá dlouho a je náročné na zpracování, pravděpodobně to znamená, že se dotaz nepřeloží.

Pokud zjistíte, že se dotaz nepřeloží, přečtěte si pokyny k posouvání dotazů v Power BI Desktopu a posouvání dotazů Power Query, kde najdete pomoc s identifikací toho, co může bránit posouvání dotazů a jak nebo jestli zdroj dat může dokonce podporovat posouvání dotazů.

Aktualizace sémantického modelu ve službě

Řešení potíží s přírůstkovou aktualizací ve službě se liší v závislosti na typu kapacity, do které byl váš model publikován. Sémantické modely v kapacitách Premium podporují použití nástrojů, jako je SQL Server Management Studio (SSMS), k zobrazení a selektivní aktualizaci jednotlivých oddílů. Modely Power BI Pro na druhé straně neposkytují přístup k nástrojům prostřednictvím koncového bodu XMLA, takže řešení potíží s přírůstkovou aktualizací může vyžadovat o něco více zkušební verze a chyby.

Problém: Vypršel časový limit počáteční aktualizace

Plánovaná aktualizace pro modely Power BI Pro ve sdílené kapacitě má časový limit dvou hodin. Tento časový limit se pro modely v kapacitě Premium zvýší na pět hodin. Systémy zdrojů dat můžou také vyžadovat omezení velikosti vrácení dotazu nebo vypršení časového limitu dotazu.

Příčina: Dotazy na zdroje dat se nepřekládají.

I když se v Power BI Desktopu před publikováním do služby obvykle dají určit problémy s posouváním dotazů, je možné, že se dotazy na aktualizaci modelu nepřeloží, což vede k nadměrnému využití aktualizací a využití prostředků mashupového stroje. K této situaci dochází, protože se vytvoří dotaz pro každý oddíl v modelu. Pokud se dotazy nepřekládají a data se nefiltrují ve zdroji dat, modul se pokusí data filtrovat.

Řešení: Ověření posouvání dotazů

Pomocí nástroje pro trasování ve zdroji dat určete předávaný dotaz pro každý oddíl je jeden dotaz, který obsahuje filtr založený na parametrech RangeStart a RangeEnd. Pokud ne, ověřte, že se v modelu Power BI Desktopu při načítání malého filtrovaného množství dat do modelu vyskytuje posouvání dotazů. Pokud ne, nejprve ho opravte v modelu, proveďte aktualizaci metadat na model (pomocí koncového bodu XMLA) nebo pokud je model Power BI Pro ve sdílené kapacitě, odstraňte neúplný model ve službě, znovu publikujte a zkuste operaci počáteční aktualizace zopakovat.

Pokud zjistíte, že se dotazy nepřekládají, přečtěte si pokyny k posouvání dotazů v Power BI Desktopu a posouvání dotazů Power Query, kde najdete pomoc s identifikací toho, co může bránit posouvání dotazů.

Příčina: Data načtená do oddílů jsou příliš velká

Řešení: Zmenšení velikosti modelu

V mnoha případech je časový limit způsoben množstvím dat, která se musí dotazovat a načíst do oddílů modelu, překračuje časové limity stanovené kapacitou. Zmenšete velikost nebo složitost modelu nebo zvažte rozdělení modelu na menší části.

Řešení: Povolení formátu velkého úložiště modelů

U modelů publikovaných do kapacit Premium můžete zvýšit výkon operace aktualizace a zajistit, že model nepřesáhne maximální limity velikosti tím, že před provedením první operace aktualizace ve službě povolíte velký formát úložiště modelu. Další informace najdete v tématu Velké modely v Power BI Premium.

Řešení: Počáteční aktualizace bootstrap

U modelů publikovaných do kapacit Premium můžete spustit počáteční operaci aktualizace. Bootstrapping umožňuje službě vytvářet objekty tabulky a oddílů pro model, ale ne načítat a zpracovávat historická data do žádného oddílu. Další informace najdete v tématu Rozšířená přírůstková aktualizace – Zabránění vypršení časových limitů při počáteční úplné aktualizaci.

Příčina: Vypršení časového limitu dotazu zdroje dat

Dotazy můžou být pro zdroj dat omezeny výchozím časovým limitem.

Řešení: Přepsání časového limitu ve výrazu dotazu

Mnoho zdrojů dat umožňuje přepsání časového limitu ve výrazu dotazu. Další informace najdete v tématu Přírůstková aktualizace pro modely – časové limity.

Problém: Aktualizace selže kvůli duplicitním hodnotám

Příčina: Datum publikování se změnilo

Při operaci aktualizace se v modelu aktualizují pouze data, která se změnila ve zdroji dat. Vzhledem k tomu, že data jsou rozdělena datem, doporučujeme, aby se data post (transakce) nezměnila.

Pokud se datum změní omylem, můžou nastat dva problémy: Uživatelé si všimnou, že se v historických datech změnily nějaké součty (které by se nemělo stát) nebo při aktualizaci se vrátí chyba, která značí, že jedinečná hodnota není ve skutečnosti jedinečná. U druhé situace může k této situaci dojít, když se tabulka s nakonfigurovanou přírůstkovou aktualizací používá v 1:N relaci s jinou tabulkou jako stranou 1 a měla by mít jedinečné hodnoty. Když se data změní pro konkrétní ID, zobrazí se toto ID v jiném oddílu a modul zjistí, že hodnota není jedinečná.

Řešení: Aktualizace konkrétních oddílů

Pokud je potřeba změnit některá předchozí data z kalendářních dat, je možné řešení použít SSMS k aktualizaci všech oddílů z bodu, kdy se změna nachází až do aktuálního oddílu aktualizace, a zachovat 1 tak jedinečnou stranu vztahu.

Problém: Data jsou zkrácená

Příčina: Byl překročen limit dotazu zdroje dat.

Některé zdroje dat, jako jsou Azure Data Explorer, Log Analytics a Přehledy aplikací, mají limit 64 MB (komprimovaných) dat, která se dají vrátit pro externí dotaz. Azure Data Explorer může vrátit explicitní chybu, ale pro ostatní, jako je Log Analytics a application Přehledy, se vrácená data zkrátí.

Řešení: Určení menších období aktualizace a úložiště

Zadejte menší období aktualizace a uložení v zásadách. Pokud jste například zadali období aktualizace jednoho roku a vrátí se chyba dotazu nebo se vrácené data zkrátí, zkuste období aktualizace 12 měsíců. Chcete zajistit, aby dotazy na aktuální oddíl aktualizace nebo jakékoli historické oddíly založené na obdobích aktualizace a úložiště nevracely více než 64 MB dat.

Problém: Aktualizace selže kvůli konfliktům klíče oddílu

Příčina: Datum ve sloupci kalendářního data ve zdroji dat se aktualizuje.

Filtr sloupce kalendářního data slouží k dynamickému rozdělení dat do rozsahů období v služba Power BI. Přírůstková aktualizace není navržená tak, aby podporovala případy, kdy se filtrovaný sloupec kalendářních dat aktualizuje ve zdrojovém systému. Aktualizace se interpretuje jako vložení a odstranění, nikoli jako skutečná aktualizace. Pokud dojde k odstranění v historickém rozsahu a ne v přírůstkovém rozsahu, nezvolí se, což může způsobit selhání aktualizace dat kvůli konfliktům klíče oddílu.

Hybridní režim ve službě (Preview)

Když Power BI použije zásadu přírůstkové aktualizace s daty v reálném čase, změní přírůstkovou aktualizaci tabulky na hybridní tabulku, která funguje v režimu importu i DirectQuery. Všimněte si oddílu DirectQuery na konci následujícího seznamu oddílů ukázkové tabulky. Přítomnost oddílu DirectQuery má vliv na související tabulky a vizuály sestavy, které se na tuto tabulku dotazují.

Screenshot of hybrid table.

Problém: Výkon dotazů je nízký

Hybridní tabulky provozované v režimu importu i DirectQuery vyžadují, aby všechny související tabulky fungovaly v duálním režimu, aby mohly fungovat jako uložené v mezipaměti nebo ne v mezipaměti v závislosti na kontextu dotazu odeslaného do modelu Power BI. Duální režim umožňuje Power BI snížit počet omezených relací v modelu a generovat efektivní dotazy na zdroje dat, aby se zajistil dobrý výkon. Omezené relace nelze odeslat do zdroje dat, který vyžaduje, aby Power BI načetl více dat, než je potřeba. Vzhledem k tomu, že duální tabulky můžou fungovat jako tabulky DirectQuery nebo Import, této situaci se vyhnete.

Při konfiguraci zásad přírůstkové aktualizace vám Power BI Desktop připomene, že při výběru možnosti Získat nejnovější data v reálném čase pomocí DirectQuery (jenom Premium) přepnete všechny související tabulky do režimu Duální. Kromě toho zkontrolujte všechny existující relace mezi tabulkami v zobrazení modelu.

Screenshot showing converting related tables to dual mode.

Tabulky, které aktuálně pracují v režimu DirectQuery, se snadno přepnou do duálního režimu. Ve vlastnostech tabulky v části Upřesnit vyberte v seznamu Režim úložiště duální. Tabulky v současné době pracují v režimu importu, ale vyžadují ruční práci. Duální tabulky mají stejná funkční omezení jako tabulky DirectQuery. Power BI Desktop proto nemůže převést tabulky importu, protože můžou spoléhat na jiné funkce, které nejsou dostupné v duálním režimu. Tyto tabulky musíte ručně vytvořit v režimu DirectQuery a pak je převést na duální režim. Další informace najdete v tématu Správa režimu úložiště v Power BI Desktopu.

Problém: Vizuály sestav nezobrazují nejnovější data

Příčina: Výsledky dotazů v Power BI ukládají do mezipaměti zlepšení výkonu a snížení zatížení back-endu

Power BI ve výchozím nastavení ukládá výsledky dotazů do mezipaměti, aby bylo možné rychle zpracovávat dotazy vizuálů sestavy, i když jsou založené na DirectQuery. Vyhněte se zbytečným dotazům na zdroje dat, což zvyšuje výkon a snižuje zatížení zdroje dat, ale může to také znamenat, že nejnovější změny dat ve zdroji nejsou zahrnuty do výsledků.

Řešení: Konfigurace automatické aktualizace stránky

Pokud chcete zachovat načítání nejnovějších změn dat ze zdroje, nakonfigurujte automatickou aktualizaci stránky pro sestavy v služba Power BI. Automatickou aktualizaci stránky je možné provádět v pevných intervalech, například v pěti sekundách nebo deseti minutách. Po dosažení daného určitého intervalu všechny vizuály na této stránce odešlou aktualizační dotaz do zdroje dat a odpovídajícím způsobem se aktualizují. Alternativně můžete aktualizovat vizuály na stránce na základě detekce změn v datech. Tento přístup vyžaduje míru detekce změn, kterou Pak Power BI použije k dotazování zdroje dat na změny. Detekce změn je podporována pouze v pracovních prostorech, které jsou součástí kapacity Premium. Další informace najdete v tématu Automatická aktualizace stránky v Power BI.