Přírůstková aktualizace a data v reálném čase pro datové sady

Přírůstková aktualizace rozšiřuje plánované operace aktualizace tím, že poskytuje automatizované vytváření oddílů a správu tabulek datových sad, které často načítají nová a aktualizovaná data. U většiny datových sad obsahuje jedna nebo více tabulek transakční data, která se často mění a mohou exponenciálně narůstat, například tabulka faktů ve schématu relační nebo hvězdicové databáze. Zásady přírůstkové aktualizace pro dělení tabulky, aktualizace pouze nejnovějších oddílů importu a volitelně použití jiného oddílu DirectQuery pro data v reálném čase můžou výrazně snížit množství dat, která je potřeba aktualizovat. Tato zásada zároveň zajišťuje, aby se do výsledků dotazu zahrnuly nejnovější změny ve zdroji dat.

S přírůstkovou aktualizací a daty v reálném čase:

  • Pro rychle se měnící data je potřeba méně cyklů aktualizace. Režim DirectQuery získává nejnovější aktualizace dat při zpracování dotazů bez nutnosti vysoké frekvence aktualizací.
  • Aktualizace jsou rychlejší. Je potřeba aktualizovat pouze nejnovější data, která se změnila.
  • Aktualizace jsou spolehlivější. Dlouhotrvající připojení k nestálým zdrojům dat nejsou nutná. Dotazy na zdroj dat běží rychleji, což snižuje riziko, že by problémy se sítí kolidovaly.
  • Snižuje se spotřeba prostředků. Méně dat k aktualizaci snižuje celkovou spotřebu paměti a dalších prostředků jak v Power BI, tak v systémech zdrojů dat.
  • Jsou povolené velké datové sady. Datové sady s potenciálně miliardami řádků se můžou zvětšit, aniž by bylo nutné při každé operaci aktualizace plně aktualizovat celou datovou sadu.
  • Nastavení je snadné. Zásady přírůstkové aktualizace jsou definovány v Power BI Desktop s několika úkoly. Když Power BI Desktop sestavu publikuje, služba tyto zásady automaticky použije při každé aktualizaci.

Když do služby publikujete model Power BI Desktop, má každá tabulka v nové datové sadě jeden oddíl. Tento jediný oddíl obsahuje všechny řádky pro danou tabulku. Pokud je tabulka velká, třeba s desítkami milionů řádků nebo více, může aktualizace této tabulky trvat dlouho a spotřebovávat nadměrné množství prostředků.

Při přírůstkové aktualizaci služba dynamicky rozděluje a odděluje data, která je potřeba často aktualizovat, od dat, která je možné aktualizovat méně často. Data tabulky se filtrují pomocí parametrů Power Query data a času s rezervovanými názvy rozlišující malá a velká písmena RangeStart a RangeEnd. Při konfiguraci přírůstkové aktualizace v Power BI Desktop se tyto parametry používají k filtrování pouze malého období dat načtených do modelu. Když Power BI Desktop publikuje sestavu do služba Power BI, služba při první operaci aktualizace vytvoří přírůstkovou aktualizaci a historické oddíly a volitelně oddíl DirectQuery v reálném čase na základě nastavení zásad přírůstkové aktualizace. Služba pak přepíše hodnoty parametrů a vyfiltruje a dotazuje data pro každý oddíl na základě hodnot data a času pro každý řádek.

Při každé další aktualizaci filtry dotazu vrátí pouze ty řádky v období aktualizace, které jsou dynamicky definované parametry. Řádky s datem a časem v rámci období aktualizace se aktualizují. Řádky s datem a časem, které už nejsou v období aktualizace, se pak stanou součástí historického období, které se neaktualizuje. Pokud je do zásad přírůstkové aktualizace zahrnut oddíl DirectQuery v reálném čase, aktualizuje se také jeho filtr, aby se zachytály všechny změny, ke kterým dojde po období aktualizace. Období aktualizace i historie se přepojí dopředu. Při vytváření nových oddílů přírůstkové aktualizace se oddíly aktualizace už v období aktualizace nestávají historickými oddíly. V průběhu času se historické oddíly při jejich slučování stávají méně členěné. Pokud už historický oddíl není v historickém období definovaném zásadou, odebere se z datové sady úplně. Toto chování se označuje jako vzor posuvu okna.

Grafika představující vzor klouzavého okna

Výhodou přírůstkové aktualizace je, že služba vše zpracovává za vás na základě vámi definovaných zásad přírůstkové aktualizace. Ve skutečnosti proces a oddíly vytvořené z něj nejsou ve službě viditelné. Ve většině případů jsou k významnému zlepšení výkonu aktualizace datové sady nezbytné dobře definované zásady přírůstkové aktualizace. Oddíl DirectQuery v reálném čase se ale podporuje jenom pro datové sady v kapacitách Premium. Power BI Premium také umožňuje pokročilejší scénáře oddílů a aktualizací prostřednictvím koncového bodu XML for Analysis (XMLA).

Požadavky

Další části popisují podporované plány a zdroje dat.

Podporované plány

Přírůstková aktualizace se podporuje pro datové sady Power BI Premium, Premium na uživatele, Power BI Pro a Power BI Embedded.

Získávání nejnovějších dat v reálném čase pomocí DirectQuery se podporuje jenom u Power BI Premium, Premium na uživatele a Power BI Embedded datových sad.

Podporované zdroje dat

Přírůstková aktualizace a data v reálném čase jsou nejvhodnější pro strukturované relační zdroje dat, jako jsou SQL Database a Azure Synapse, ale můžou fungovat i pro jiné zdroje dat. V každém případě musí váš zdroj dat podporovat následující:

Filtrování kalendářních dat – zdroj dat musí podporovat určitý mechanismus filtrování dat podle data. U relačního zdroje je to obvykle sloupec kalendářního data s datem a časem nebo celočíselným datovým typem v cílové tabulce. Parametry RangeStart a RangeEnd, které musí být datovým typem datum a čas, filtrují data tabulky na základě sloupce kalendářního data. Pro sloupce kalendářních dat s celočíselnými náhradními klíči ve formě yyyymmddmůžete vytvořit funkci, která převede hodnotu data a času v parametrech RangeStart a RangeEnd tak, aby odpovídala celočíselným náhradním klíčům sloupce kalendářního data. Další informace najdete v tématu Konfigurace přírůstkové aktualizace – Převod data a času na celé číslo.

U jiných zdrojů dat musí být parametry RangeStart a RangeEnd předány zdroji dat nějakým způsobem, který umožňuje filtrování. U souborových zdrojů dat, kde jsou soubory a složky uspořádané podle data, je možné použít parametry RangeStart a RangeEnd k filtrování souborů a složek a vybrat soubory, které se mají načíst. U webových zdrojů dat je možné do požadavku HTTP integrovat parametry RangeStart a RangeEnd. Například následující dotaz se dá použít pro přírůstkovou aktualizaci trasování z instance AppInsights:

let 
    strRangeStart = DateTime.ToText(RangeStart,[Format="yyyy-MM-dd'T'HH:mm:ss'Z'", Culture="en-US"]),
    strRangeEnd = DateTime.ToText(RangeEnd,[Format="yyyy-MM-dd'T'HH:mm:ss'Z'", Culture="en-US"]),
    Source = Json.Document(Web.Contents("https://api.applicationinsights.io/v1/apps/<app-guid>/query", 
    [Query=[#"query"="traces 
    | where timestamp >= datetime(" & strRangeStart &") 
    | where timestamp < datetime("& strRangeEnd &")
    ",#"x-ms-app"="AAPBI",#"prefer"="ai.response-thinning=true"],Timeout=#duration(0,0,4,0)])),
    TypeMap = #table(
    { "AnalyticsTypes", "Type" }, 
    { 
    { "string",   Text.Type },
    { "int",      Int32.Type },
    { "long",     Int64.Type },
    { "real",     Double.Type },
    { "timespan", Duration.Type },
    { "datetime", DateTimeZone.Type },
    { "bool",     Logical.Type },
    { "guid",     Text.Type },
    { "dynamic",  Text.Type }
    }),
    DataTable = Source[tables]{0},
    Columns = Table.FromRecords(DataTable[columns]),
    ColumnsWithType = Table.Join(Columns, {"type"}, TypeMap , {"AnalyticsTypes"}),
    Rows = Table.FromRows(DataTable[rows], Columns[name]), 
    Table = Table.TransformColumnTypes(Rows, Table.ToList(ColumnsWithType, (c) => { c{0}, c{3}}))
in
Table

Není nutné, aby konečný dotaz podporoval posouvání. Například v následujícím výrazu použijeme neklápěcí NativeQuery, ale integrujeme parametry RangeStart a RangeEnd přímo do SQL:

let
  Query = "select * from dbo.FactInternetSales where OrderDateKey >= '"& Text.From(Int32.From( DateTime.ToText(RangeStart,"yyyyMMdd") )) &"' and OrderDateKey < '"& Text.From(Int32.From( DateTime.ToText(RangeEnd,"yyyyMMdd") )) &"' ",
  Source = Sql.Database("dwdev02","AdventureWorksDW2017"),
  Data = Value.NativeQuery(Source, Query, null, [EnableFolding=false])
in
  Data

Při konfiguraci přírůstkové aktualizace se vůči zdroji dat spustí výraz Power Query, který obsahuje filtr data a času založený na parametrech RangeStart a RangeEnd. Pokud je filtr zadaný v kroku dotazu za počátečním zdrojovým dotazem, je důležité, aby posouvání dotazů zkombinuje počáteční krok dotazu s postupem, který odkazuje na parametry RangeStart a RangeEnd. Například v následujícím výrazu dotazu se složí, Table.SelectRows protože okamžitě následuje Sql.Database krok a SQL Server podporuje skládání:

let
  Source = Sql.Database("dwdev02","AdventureWorksDW2017"),
  Data  = Source{[Schema="dbo",Item="FactInternetSales"]}[Data],
  #"Filtered Rows" = Table.SelectRows(Data, each [OrderDateKey] >= Int32.From(DateTime.ToText(RangeStart,[Format="yyyyMMdd"]))),
  #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each [OrderDateKey] < Int32.From(DateTime.ToText(RangeEnd,[Format="yyyyMMdd"])))
  
in
  #"Filtered Rows1"

Není nutné, aby konečný dotaz podporoval posouvání. Například v následujícím výrazu použijeme neklápěcí NativeQuery, ale integrujeme parametry RangeStart a RangeEnd přímo do SQL:

let
  Query = "select * from dbo.FactInternetSales where OrderDateKey >= '"& Text.From(Int32.From( DateTime.ToText(RangeStart,"yyyyMMdd") )) &"' and OrderDateKey < '"& Text.From(Int32.From( DateTime.ToText(RangeEnd,"yyyyMMdd") )) &"' ",
  Source = Sql.Database("dwdev02","AdventureWorksDW2017"),
  Data = Value.NativeQuery(Source, Query, null, [EnableFolding=false])
in
  Data

Pokud ale zásada přírůstkové aktualizace zahrnuje získávání dat v reálném čase pomocí DirectQuery, není možné použít transformace, které nejsou přeložené. Pokud se jedná o zásadu režimu čistého importu bez dat v reálném čase, může modul mashupu dotazů kompenzovat a použít filtr místně, což vyžaduje načtení všech řádků tabulky ze zdroje dat. To může způsobit, že přírůstková aktualizace bude pomalá a proces může docházet k prostředkům buď v služba Power BI, nebo v místní bráně dat, což v podstatě zmaří účel přírůstkové aktualizace.

Vzhledem k tomu, že podpora posouvání dotazů se u různých typů zdrojů dat liší, mělo by se provést ověření, aby se zajistilo, že je logika filtru zahrnutá do dotazů spouštěných na zdroj dat. Ve většině případů se Power BI Desktop pokusí provést toto ověření za vás při definování zásad přírůstkové aktualizace. U zdrojů dat založených na SQL, jako jsou SQL Database, Azure Synapse, Oracle a Teradata, je toto ověření spolehlivé. Jiné zdroje dat však nemusí být možné ověřit bez trasování dotazů. Pokud Power BI Desktop nemůže potvrdit dotazy, zobrazí se v dialogovém okně konfigurace zásad přírůstkové aktualizace upozornění.

Snímek obrazovky s upozorněním na posouvání dotazu

Pokud se zobrazí toto upozornění a chcete ověřit, že dochází k potřebnému posouvání dotazů, použijte funkci diagnostika Power Query nebo trasujte dotazy pomocí nástroje podporovaného zdrojem dat, jako je sql Profiler. Pokud k posouvání dotazů ne dochází, ověřte, že je logika filtru zahrnutá do dotazu předávaného do zdroje dat. Pokud ne, je pravděpodobné, že dotaz obsahuje transformaci, která brání posouvání.

Před konfigurací řešení přírůstkové aktualizace si nezapomeňte důkladně přečíst pokyny k posouvání dotazů v Power BI Desktop a Power Query posouvání dotazů a porozumět jim. Tyto články vám můžou pomoct určit, jestli zdroj dat a dotazy podporují posouvání dotazů.

Jeden zdroj dat

Pokud nakonfigurujete přírůstkovou aktualizaci a data v reálném čase pomocí Power BI Desktop nebo pokročilé řešení pomocí jazyka TMSL (Tabular Model Scripting Language) nebo Tabulkového objektového modelu (TOM) prostřednictvím koncového bodu XMLA, musí se všechny oddíly, ať už import nebo DirectQuery, dotazovat na data z jednoho zdroje.

Jiné typy zdrojů dat

Díky použití více vlastních funkcí dotazů a logiky dotazů je možné přírůstkovou aktualizaci použít s jinými typy zdrojů dat, pokud filtry založené na RangeStart a RangeEnd lze předat v jednom dotazu, například u zdrojů dat, jako jsou soubory sešitů Excelu uložené ve složce, soubory v SharePointu a informační kanály RSS. Mějte na paměti, že se jedná o pokročilé scénáře, které vyžadují další přizpůsobení a testování nad rámec toho, co je popsáno tady. V části Komunita dále v tomto článku najdete návrhy, jak najít další informace o používání přírůstkové aktualizace pro jedinečné scénáře.

Lhůty

Bez ohledu na přírůstkovou aktualizaci mají Power BI Pro datové sady časový limit aktualizace dvě hodiny a nepodporují získávání dat v reálném čase pomocí DirectQuery. U datových sad v kapacitě Premium je časový limit pět hodin. Operace aktualizace jsou náročné na proces a paměť. Operace úplné aktualizace může využívat až dvojnásobek paměti vyžadované samotnou datovou sadou, protože služba uchovává snímek datové sady v paměti, dokud se operace aktualizace neskonjí. Operace aktualizace můžou být také náročné na proces a spotřebovávají značné množství dostupných prostředků procesoru. Operace aktualizace musí také spoléhat na nestálé připojení ke zdrojům dat a schopnost těchto systémů zdrojů dat rychle vracet výstup dotazu. Časový limit je zárukou pro omezení nadměrné spotřeby dostupných prostředků.

Poznámka

U kapacit Premium nemají operace aktualizace prováděné prostřednictvím koncového bodu XMLA žádný časový limit. Další informace najdete v tématu Pokročilá přírůstková aktualizace s koncovým bodem XMLA.

Vzhledem k tomu, že přírůstková aktualizace optimalizuje operace aktualizace na úrovni oddílu v datové sadě, může se výrazně snížit spotřeba prostředků. Současně jsou operace aktualizace vázány stejnými dvouhodinovými a pětihodinovými limity, i u přírůstkové aktualizace, pokud neprojdou koncovým bodem XMLA. Efektivní zásady přírůstkové aktualizace nejen snižují množství dat zpracovaných operací aktualizace, ale také množství nepotřebných historických dat uložených v datové sadě.

Dotazy mohou být také omezeny výchozím časovým limitem pro zdroj dat. Většina relačních zdrojů dat umožňuje přepsání časových limitů ve výrazu Power Query M. Výraz níže například používá funkci SQL Server pro přístup k datům k nastavení CommandTimeout na 2 hodiny. Každé období definované rozsahy zásad odešle dotaz, který sleduje nastavení časového limitu příkazu:

let
    Source = Sql.Database("myserver.database.windows.net", "AdventureWorks", [CommandTimeout=#duration(0, 2, 0, 0)]),
    dbo_Fact = Source{[Schema="dbo",Item="FactInternetSales"]}[Data],
    #"Filtered Rows" = Table.SelectRows(dbo_Fact, each [OrderDate] >= RangeStart and [OrderDate] < RangeEnd)
in
    #"Filtered Rows"

U velmi velkých datových sad v kapacitách Premium, které pravděpodobně obsahují miliardy řádků, je možné operaci počáteční aktualizace spustit. Bootstrapping umožňuje službě vytvářet objekty tabulek a oddílů pro datovou sadu, ale nenačítá a nezpracovává data do žádného oddílu. Pomocí SQL Server Management Studio můžete nastavit, aby se oddíly zpracovávaly jednotlivě, postupně nebo paralelně, aby se snížilo množství dat vrácených v jednom dotazu, a také obejít pětihodinový časový limit. 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.

Aktuální datum a čas

Aktuální datum a čas jsou založené na systémovém datu v čase aktualizace. Pokud je pro datovou sadu ve službě povolená plánovaná aktualizace, při určování aktuálního data a času se bere v úvahu zadané časové pásmo. Jednotlivé i plánované aktualizace prostřednictvím služby sledují časové pásmo, pokud jsou k dispozici. Například aktualizace, ke které dojde ve 20:00 tichomořského času (USA a Kanada) se zadaným časovým pásmem, určuje aktuální datum a čas na základě tichomořského času, nikoli koordinovaného univerzálního času (UTC), který by vrátil následující den. Operace aktualizace, které nejsou vyvolány prostřednictvím služba Power BI, jako je například příkaz TMSL refresh, nebere v úvahu časové pásmo plánované aktualizace.

Snímek obrazovky s dialogovým oknem Naplánovaná aktualizace zobrazující vstupní pole Časové pásmo

Konfigurace přírůstkové aktualizace a dat v reálném čase

Tyto části popisují důležité koncepty konfigurace přírůstkových aktualizací a dat v reálném čase. Až budete připraveni na podrobnější podrobné pokyny, přečtěte si téma Konfigurace přírůstkové aktualizace a dat v reálném čase pro datové sady.

Konfigurace přírůstkové aktualizace se provádí v Power BI Desktop. U většiny modelů se vyžaduje jenom několik úloh. Je však třeba mít na paměti následující skutečnosti:

  • Po publikování do služba Power BI nemůžete stejný model z Power BI Desktop publikovat znovu. Opětovné publikování odebere všechny existující oddíly a data, která už jsou v datové sadě. Pokud publikujete do kapacity Premium, můžete další změny schématu metadat provést pomocí nástrojů, jako je opensourcová sada ALM Toolkit, nebo pomocí TMSL. Další informace najdete v tématu Pokročilá přírůstková aktualizace – nasazení jen pro metadata.
  • Po publikování do služba Power BI nemůžete datovou sadu stáhnout zpět jako soubor .pbix a Power BI Desktop. Vzhledem k tomu, že se datové sady ve službě můžou zvětšit tak, není praktické je stáhnout a otevřít na typickém stolním počítači.
  • Při získávání dat v reálném čase pomocí DirectQuery nemůžete datovou sadu publikovat do jiného pracovního prostoru než Premium. Přírůstková aktualizace s daty v reálném čase se podporuje jenom u Power BI Premium.

Vytvoření parametrů

Chcete-li nakonfigurovat přírůstkovou aktualizaci v Power BI Desktop, vytvořte nejprve dva Power Query parametry data a času s rezervovanými názvy rozlišující malá a velká písmena RangeStart a RangeEnd. Tyto parametry, definované v dialogovém okně Spravovat parametry v Editor Power Query, se zpočátku používají k filtrování dat načtených do tabulky Power BI Desktop modelu tak, aby zahrnovala pouze řádky s datem a časem v daném období. Po publikování modelu do služby RangeStart se RangeEnd služba automaticky přepíše za účelem dotazování na data definovaná obdobím aktualizace zadaným v nastavení zásad přírůstkové aktualizace.

Například tabulka zdrojů dat FactInternetSales má průměr 10 000 nových řádků za den. Pokud chcete omezit počet řádků původně načtených do modelu v Power BI Desktop, zadejte dvoudenní období mezi RangeStart a RangeEnd.

Snímek obrazovky dialogového okna Spravovat parametry zobrazující parametry RangeStart a RangeEnd

Filtrování dat

S definovanými RangeStart parametry a RangeEnd použijete ve sloupci kalendářních dat tabulky vlastní filtry kalendářních dat. Filtry, které použijete, vyberou podmnožinu dat, která se načte do modelu, když vyberete Použít.

Snímek obrazovky s místní nabídkou sloupce s vybranou možností Vlastní filtr

V našem příkladu FactInternetSales se po vytvoření filtrů založených na parametrech a provedení kroků načtou do modelu dva dny dat (přibližně 20 000 řádků).

Definování zásad

Po použití filtrů a načtení podmnožině dat do modelu definujete pro tabulku zásadu přírůstkové aktualizace. Po publikování modelu do služby služba použije zásadu k vytváření a správě oddílů tabulky a provádění operací aktualizace. Pokud chcete definovat zásadu, použijte dialogové okno Přírůstková aktualizace a data v reálném čase k zadání požadovaných i volitelných nastavení.

Snímek obrazovky s dialogovým oknem Přírůstková aktualizace a data v reálném čase zobrazující možnost Přírůstková aktualizace této tabulky

Tabulka

Seznam Vybrat tabulku má ve výchozím nastavení tabulku, kterou jste vybrali v zobrazení dat. Pomocí posuvníku povolte přírůstkovou aktualizaci tabulky. Pokud výraz Power Query pro tabulku neobsahuje filtr založený na parametrech RangeStart aRangeEnd, není přepínač dostupný.

Požadovaná nastavení

Nastavení Archivovat data začínající před datem aktualizace určuje historické období, ve kterém jsou řádky s datem a časem v daném období zahrnuty do datové sady, plus řádky pro aktuální neúplné historické období plus řádky v období aktualizace až do aktuálního data a času.

Pokud například zadáte pět let, tabulka uloží posledních pět celých roků historických dat do oddílů roku. Tabulka bude také obsahovat řádky pro aktuální rok v oddílech čtvrtletí, měsíce nebo dnů, a to až do období aktualizace a včetně.

U datových sad v kapacitách Premium je možné backdatované historické oddíly selektivně aktualizovat se členitostí, která je určena tímto nastavením. Další informace najdete v tématu Rozšířená přírůstková aktualizace – oddíly.

Nastavení Přírůstková aktualizace dat začínající před datem aktualizace určuje období přírůstkové aktualizace, ve kterém jsou všechny řádky s datem a časem v daném období zahrnuty do oddílů aktualizace a aktualizovány při každé operaci aktualizace.

Pokud například při každé operaci aktualizace zadáte období aktualizace na tři dny, služba přepíše parametry a RangeEnd a vytvoří dotaz na řádky RangeStart s datem a časem v rámci třídenního období, přičemž začátek a konec závisí na aktuálním datu a času. Řádky s datem a časem za poslední tři dny až do aktuálního času operace aktualizace se aktualizují. U tohoto typu zásad můžete očekávat, že tabulka datových sad FactInternetSales ve službě, která průměrně za den obsahuje 10 000 nových řádků, aktualizuje při každé operaci aktualizace přibližně 30 000 řádků.

Zadejte období, které zahrnuje pouze minimální počet řádků potřebných k zajištění přesného vykazování. Při definování zásad pro více než jednu tabulku se musí použít stejné RangeStart parametry a RangeEnd i v případě, že jsou pro každou tabulku definována různá období ukládání a aktualizace.

Volitelná nastavení

Nastavení Získat nejnovější data v reálném čase pomocí DirectQuery (jenom Premium) umožňuje načíst nejnovější změny z vybrané tabulky ve zdroji dat nad rámec období přírůstkové aktualizace pomocí DirectQuery. Všechny řádky s datem a časem pozdějším než období přírůstkové aktualizace se zahrnou do oddílu DirectQuery a načítají se ze zdroje dat při každém dotazu na datovou sadu.

Pokud je například toto nastavení povolené, služba s každou operací aktualizace stále přepíše parametry a RangeEnd a vytvoří dotaz na řádky RangeStart s datem a časem po období aktualizace, přičemž začátek závisí na aktuálním datu a čase. Zahrnuté jsou také řádky s datem a časem po aktuálním čase operace aktualizace. U tohoto typu zásad obsahuje tabulka datové sady FactInternetSales ve službě nejnovější aktualizace dat.

Nastavení Pouze aktualizovat dokončené dny zajistí, že operace aktualizace zahrne všechny řádky za celý den. Toto nastavení je volitelné, pokud nepovolíte nastavení Získat nejnovější data v reálném čase pomocí DirectQuery (jenom Premium). Řekněme například, že je naplánované spuštění aktualizace každé ráno ve 4:00. Pokud se v tabulce zdroje dat zobrazí nové řádky dat během těchto čtyř hodin mezi půlnocí a 4:00, nechcete s nimi počítat. Některé obchodní metriky, jako jsou barely za den v ropném a plynárenství, nedává smysl s částečnými dny. Dalším příkladem je aktualizace dat z finančního systému, kde se data za předchozí měsíc schvalují dvanáctý kalendářní den v měsíci. Můžete nastavit období aktualizace na jeden měsíc a naplánovat spuštění aktualizace na dvanáctý den v měsíci. Když je tato možnost vybraná, aktualizuje se například lednová data 12. února.

Mějte na paměti, že pokud není plánovaná aktualizace nakonfigurovaná pro časové pásmo mimo UTC, operace aktualizace ve službě běží v čase UTC, což může určit datum účinnosti a úplná období.

Nastavení Zjistit změny dat umožňuje ještě selektivnější aktualizaci. Můžete vybrat sloupec data a času, který slouží k identifikaci a aktualizaci pouze dnů, ve kterých se data změnila. Toto nastavení předpokládá, že takový sloupec existuje ve zdroji dat, což je obvykle pro účely auditování. Tento sloupec by neměl být stejný, jako se používá k dělení dat pomocí RangeStart parametrů a RangeEnd . Maximální hodnota tohoto sloupce se vyhodnotí pro každé období v přírůstkovém rozsahu. Pokud se od poslední aktualizace nezměnila, není potřeba období aktualizovat, což by potenciálně mohlo dále zkrátit počet přírůstkově obnovovaných dnů ze tří na jeden.

Aktuální návrh vyžaduje zachování a uložení sloupce v mezipaměti, aby mohl sloupec rozpoznat změny dat. Ke snížení kardinality a využití paměti je možné použít následující techniky:

  • V době aktualizace zachovají pouze maximální hodnotu sloupce, například pomocí funkce Power Query.
  • Snižte přesnost na přijatelnou úroveň vzhledem k vašim požadavkům na frekvenci aktualizací.
  • Definujte vlastní dotaz pro detekci změn dat pomocí koncového bodu XMLA a vyhněte se úplnému zachování hodnoty sloupce.

V některých případech je možné povolení možnosti Zjistit změny dat* ještě vylepšit. Můžete se například chtít vyhnout zachování sloupce poslední aktualizace v mezipaměti v paměti nebo povolit scénáře, kdy je konfigurační/instrukční tabulka připravena procesy extrakce-transformace-načítání (ETL) pro označení příznakem pouze těch oddílů, které je potřeba aktualizovat. V takových případech použijte pro kapacity Premium k přepsání chování detekce změn dat metodu TMSL nebo TOM. Další informace najdete v tématu Pokročilá přírůstková aktualizace – vlastní dotazy pro zjišťování změn dat.

Publikovat

Po konfiguraci zásad přírůstkové aktualizace publikujete model do služby. Po dokončení publikování můžete s datovou sadou provést operaci počáteční aktualizace.

Poznámka

Datové sady se zásadami přírůstkové aktualizace pro získání nejnovějších dat v reálném čase pomocí DirectQuery se dají publikovat jenom do pracovního prostoru Premium.

Pokud se u datových sad publikovaných do pracovních prostorů přiřazených ke kapacitám Premium domníváte, že datová sada překročí 1 GB, můžete před provedením první operace aktualizace ve službě zvýšit výkon operace aktualizace a zajistit, aby datová sada neměla maximální limity velikosti. Další informace najdete v tématu Velké datové sady v Power BI Premium.

Důležité

Jakmile Power BI Desktop model publikuje do služby, nebudete si moct tento soubor .pbix stáhnout zpět.

Aktualizovat

Po publikování do služby provedete operaci počáteční aktualizace datové sady. Tato aktualizace by měla být individuální (ruční), abyste mohli sledovat průběh. Dokončení operace počáteční aktualizace může nějakou dobu trvat. Musí se vytvořit oddíly, načíst historická data, vytvořit nebo znovu sestavit objekty, jako jsou relace a hierarchie, a přepočítat počítané objekty.

Následné operace aktualizace, ať už jednotlivé, nebo naplánované, jsou mnohem rychlejší, protože se aktualizují jenom oddíly přírůstkové aktualizace. Musí stále probíhat další operace zpracování, jako je slučování oddílů a přepočet, ale obvykle to trvá mnohem méně času než počáteční aktualizace.

Automatická aktualizace sestavy

U sestav, které používají datovou sadu se zásadami přírůstkové aktualizace k získání nejnovějších dat v reálném čase pomocí DirectQuery, je vhodné povolit automatickou aktualizaci stránky s pevným intervalem nebo na základě detekce změn, aby sestavy obsahovaly nejnovější data bez prodlení. Další informace najdete v tématu Automatická aktualizace stránky v Power BI.

Pokročilá přírůstková aktualizace

Pokud je vaše datová sada v kapacitě Premium s povoleným koncovým bodem XMLA, je možné přírůstkovou aktualizaci pro pokročilé scénáře dále rozšířit. Můžete například použít SQL Server Management Studio k zobrazení a správě oddílů, spuštění operace počáteční aktualizace nebo aktualizaci zastaralých historických oddílů. Další informace najdete v tématu Pokročilá přírůstková aktualizace s koncovým bodem XMLA.

Komunita

Power BI má živou komunitu, kde mVP, profesionálové a kolegové sdílejí zkušenosti v diskuzní skupině, videích, blogech a dalších akcích. Informace o přírůstkové aktualizaci najdete v těchto zdrojích informací:

Další kroky