Přírůstková aktualizace v Power BIIncremental refresh in Power BI

Přírůstková aktualizace umožňuje v Power BI používat rozsáhlé datové sady a mít při tom následující výhody:Incremental refresh enables very large datasets in Power BI with the following benefits:

  • Aktualizace jsou rychlejší – aktualizovat je potřeba pouze data, která se změnila.Refreshes are faster - Only data that has changed needs to be refreshed. Můžete například aktualizovat jenom posledních 5 dnů z datové sady pro 10 roků.For example, refresh only the last five days of a ten-year dataset.
  • Aktualizace jsou spolehlivější – už není nutné udržovat dlouhotrvající připojení k nestálým zdrojovým systémům.Refreshes are more reliable - It's no longer necessary to maintain long-running connections to volatile source systems.
  • Snižuje se spotřeba prostředků – méně dat k aktualizaci znamená snížení celkové spotřeby paměti a dalších prostředků.Resource consumption is reduced - Less data to refresh reduces overall consumption of memory and other resources.

Poznámka

Přírůstková aktualizace je nyní k dispozici pro Power BI Pro, Premium a sdílená předplatná a datové sady.Incremental refresh is now available for Power BI Pro, Premium, and shared subscriptions and datasets.

Poznámka

Pro Power BI Premium byla nedávno vydána nová verze Premium s názvem Premium Gen2, která je aktuálně ve verzi Preview.Power BI Premium recently released a new version of Premium, called Premium Gen2, which is currently in preview. Premium Gen2 zjednoduší správu kapacit Premium a sníží režijní náklady na správu.Premium Gen2 will simplify the management of Premium capacities, and reduce management overhead. Premium Gen2 významně vylepšuje plánovanou aktualizaci tím, že povoluje automatické škálování, aby se zabránilo konfliktům při aktualizaci.Premium Gen2 significantly improves scheduled refresh, by enabling autoscaling to avoid refresh conflicts. Další informace najdete v článku o Power BI Premium Generation 2 (Preview).For more information, see Power BI Premium Generation 2 (preview).

Konfigurace přírůstkové aktualizaceConfigure incremental refresh

Zásady přírůstkové aktualizace se definují v Power BI Desktopu a použijí se po publikování ve službě Power BI.Incremental refresh policies are defined in Power BI Desktop and applied when published to the Power BI service.

Filtrování rozsáhlých datových sad v Power BI DesktopuFilter large datasets in Power BI Desktop

Rozsáhlé datové sady, které mohou obsahovat miliardy řádků, mohou být pro model v Power BI Desktopu příliš velké, protože soubor PBIX je běžně omezen prostředky paměti dostupnými na desktopovém počítači uživatele.Large datasets with potentially billions of rows may not fit into a Power BI Desktop model because the PBIX file is limited by the memory resources available on the desktop computer. Takové datové sady jsou proto při importu filtrovány.Such datasets are therefore commonly filtered upon import. Tento typ filtrování se použije bez ohledu na to, zda používáte přírůstkovou aktualizaci či nikoli.This type of filtering applies whether using incremental refresh or not. U přírůstkové aktualizace se datové sady filtrují pomocí parametrů Datum a čas v Power Query.For incremental refresh, you filter by using Power Query date/time parameters.

Parametry RangeStart a RangeEndRangeStart and RangeEnd parameters

U přírůstkové aktualizace se datové sady filtrují pomocí parametrů Datum a čas v Power Query s rezervovanými názvy RangeStart a RangeEnd, které rozlišují malá a velká písmena.For incremental refresh, datasets are filtered by using Power Query date/time parameters with the reserved, case-sensitive names RangeStart and RangeEnd. Tyto parametry slouží k filtrování dat naimportovaných do Power BI Desktopu a také k dynamickému dělení dat do rozsahů po publikování ve službě Power BI.These parameters are used to filter the data imported into Power BI Desktop, and also to dynamically partition the data into ranges once published to the Power BI service. Služba nahradí hodnoty parametrů tak, aby mohla vyfiltrovat jednotlivé oddíly.The parameter values are substituted by the service to filter for each partition. V nastavení datové sady nemusíte ve službě nic konfigurovat.There's no need to set them in dataset settings in the service. Po publikování služba Power BI automaticky přepíše hodnoty parametrů.Once published, the parameter values are overridden automatically by the Power BI service.

Pokud chcete definovat parametry s výchozími hodnotami, vyberte v editoru Power Query možnost Spravovat parametry.To define the parameters with default values, in the Power Query Editor, select Manage Parameters.

Správa parametrů

Jakmile máte parametry definované, můžete použít filtr. U sloupce vyberte možnost nabídky Vlastní filtr.With the parameters defined, you can then apply the filter by selecting the Custom Filter menu option for a column.

Vlastní filtr

Zkontrolujte, že jsou vyfiltrované řádky, u kterých hodnota sloupce následuje po nebo se rovná parametru RangeStart a předchází parametru RangeEnd.Ensure rows are filtered where the column value is after or equal to RangeStart and before RangeEnd. Jiné kombinace filtrů můžou vést k dvojímu počítání řádků.Other filter combinations may result in double counting of rows.

Filtrování řádků

Důležité

Ověřte, že dotazy mají podmínku rovná se (=) jen pro parametr RangeStart, nebo jen pro parametr RangeEnd, ale ne pro oba tyto parametry.Verify queries have an equal to (=) on either RangeStart or RangeEnd, but not both. Pokud podmínka rovná se (=) existuje u obou parametrů, mohlo by se stát, že by nějaký řádek splňoval podmínky pro dva oddíly, což by mohlo vést k duplicitním datům v modelu.If the equal to (=) exists on both parameters, a row could satisfy the conditions for two partitions, which could lead to duplicate data in the model. TřebaFor example,
Výsledkem dotazu #"Filtered Rows" = Table.SelectRows(dbo_Fact, each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) by mohla být duplicitní data.#"Filtered Rows" = Table.SelectRows(dbo_Fact, each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) could result in duplicate data.

Tip

Přestože datový typ parametrů musí být Datum a čas, je možné je převést tak, aby odpovídaly požadavkům zdroje dat.While the data type of the parameters must be date/time, it's possible to convert them to match the requirements of the datasource. Následující funkce Power Query například převede hodnotu Datum a čas tak, aby připomínala celočíselný náhradní klíč ve formátu rrrrmmdd, který je běžný pro datové sklady.For example, the following Power Query function converts a date/time value to resemble an integer surrogate key of the form yyyymmdd, which is common for data warehouses. Funkci je možné volat při filtrování.The function can be called by the filter step.

(x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)

V Editoru Power Query vyberte Zavřít a použít.Select Close and Apply from the Power Query Editor. V Power BI Desktopu byste měli mít podmnožinu datové sady.You should have a subset of the dataset in Power BI Desktop.

Filtrování aktualizací sloupců dataFilter date column updates

Filtr u sloupce data se použije k dynamickému rozdělení dat do rozsahů ve službě Power BI.The filter on the date column is used to dynamically partition the data into ranges in the Power BI service. Přírůstková aktualizace není navržena na podporu případů, kdy se filtrovaný sloupec dat aktualizuje ve zdrojovém systému.Incremental refresh isn't designed to support cases where the filtered date column is updated in the source system. Aktualizace se interpretuje jako vložení a odstranění (ne jako skutečná aktualizace).An update is interpreted as an insertion and a deletion, not an actual update. Pokud odstranění nastane v historickém, ne v přírůstkovém rozsahu, nenačte se.If the deletion occurs in the historical range and not the incremental range, it won't get picked up. Toto chování může způsobit chyby aktualizace dat kvůli konfliktům klíčů oddílů.This can cause data refresh failures due to partition-key conflicts.

Chování „query folding“Query folding

Důležité je, že filtry oddílů se předají do zdrojového systému při odeslání dotazů na operace aktualizace.It's important the partition filters are pushed to the source system when queries are submitted for refresh operations. Potřeba předání filtru dál znamená, že zdroj dat by měl podporovat tzv. „query folding“.To push filtering down means the datasource should support query folding. Většina zdrojů dat, které podporují dotazy SQL, podporují „query folding“.Most data sources that support SQL queries support query folding. Zdroje dat, jako jsou ploché soubory, objekty blob a webové kanály, však zpravidla posouvání dotazů nepodporují.However, data sources like flat files, blobs, and web feeds typically do not. V případech, kde back-end zdroje dat nepodporuje filtr, není možné předat tento filtr dál.In cases where the filter is not supported by the datasource back-end, it cannot be pushed down. V takových případech modul mashupu provede kompenzaci a použije filtr místně, což může vyžadovat načtení celé datové sady ze zdroje dat.In such cases, the mashup engine compensates and applies the filter locally, which may require retrieving the full dataset from the data source. Následkem toho může být přírůstková aktualizace velmi pomalá a prostředky ve službě Power BI nebo v místní bráně dat (pokud se používá) nemusí tomuto procesu stačit.This can cause incremental refresh to be very slow, and the process can run out of resources either in the Power BI service or in the on-premises data gateway if used.

Vzhledem k různé úrovni podpory chování „query folding“ u jednotlivých zdrojů dat se doporučuje ověřit, jestli je v dotazech na zdroj zahrnuta logika filtru.Given the various levels of query folding support for each datasource, it's recommended that verification is performed to ensure the filter logic is included in the source queries. Z důvodu usnadnění se Power BI Desktop pokusí toto ověření provést za vás.To make this easier, Power BI Desktop attempts to perform this verification for you. Pokud se mu to nepodaří, při definování zásad přírůstkové aktualizace se v dialogovém okně přírůstkové aktualizace zobrazí upozornění.If unable to verify, a warning is displayed in the incremental refresh dialog when defining the incremental refresh policy. Zdroje dat založené na SQL, například SQL, Oracle nebo Teradata, mohou na toto upozornění spoléhat.SQL based data sources such as SQL, Oracle, and Teradata can rely on this warning. Další zdroje dat nemusí být schopny provést ověření bez trasování dotazů.Other data sources may be unable to verify without tracing queries. Pokud se Power BI Desktopu ověření nezdaří, zobrazí se následující upozornění.If Power BI Desktop is unable to confirm, the following warning is displayed. Pokud se vám zobrazilo toto upozornění a chcete zkontrolovat, jestli probíhá potřebné posouvání dotazů, použijte diagnostiku dotazů nebo trasujte dotazy přijaté zdrojovou databází.If you see this warning and want to check that the necessary query folding is occurring, you can use the Query Diagnostics feature, or trace queries received by the source database.

Chování „query folding“

Definování zásad aktualizaceDefine the refresh policy

Přírůstková aktualizace je dostupná v místní nabídce u tabulek s výjimkou modelů Živé připojení.Incremental refresh is available on the context menu for tables, except for Live Connection models.

Zásady aktualizace

Dialog Přírůstkové aktualizaceIncremental refresh dialog

Zobrazí se dialogové okno přírůstkové aktualizace.The incremental refresh dialog is displayed. Dialog zapnete pomocí přepínače.Use the toggle to enable the dialog.

Podrobnosti aktualizace

Poznámka

Pokud výraz Power Query tabulky neodkazuje na parametry s rezervovanými názvy, přepínač není aktivní.If the Power Query expression for the table doesn't refer to the parameters with reserved names, the toggle is disabled.

Text záhlaví vysvětluje toto:The header text explains the following:

  • Zásady aktualizace jsou definované v Power BI Desktopu a používají je operace aktualizace ve službě.Refresh policies are defined in Power BI Desktop, and they are applied by refresh operations in the service.

  • Pokud si ze služby Power BI můžete stáhnout soubor PBIX, který obsahuje zásady přírůstkové aktualizace, neotevře se v Power BI Desktopu.If you're able to download the PBIX file containing an incremental-refresh policy from the Power BI service, it cannot be opened in Power BI Desktop. Přestože je možné, že v budoucnu budeme stažení souboru podporovat, nezapomeňte, že tyto datové sady mohou narůst do takové velikosti, že nebude praktické si je stahovat a otevírat na běžném desktopovém počítači.While this may be supported in the future, keep in mind these datasets can grow to be so large that they are impractical to download and open on a typical desktop computer.

Rozsahy aktualizacíRefresh ranges

Následující příklad definuje zásady aktualizace, které se používají k uchovávání dat pro 5 celých kalendářních roků a navíc dat pro aktuální rok až do aktuálního data a k přírůstkové aktualizaci dat pro posledních deset celých dnů.The following example defines a refresh policy to store data for five full calendar years plus data for the current year up to the current date, and incrementally refresh ten full days of data. První operace aktualizace načte historická data.The first refresh operation loads historical data. Následné aktualizace jsou přírůstkové a (pokud je pro ně naplánované spouštění každý den) provedou se při nich následující operace:Subsequent refreshes are incremental, and (if scheduled to run daily) perform the following operations:

  • Přidá se nový den dat.Add a new day of data.

  • Aktualizuje se posledních deset celých dnů až do aktuálního data.Refresh ten full days up to the current date.

  • Odeberou se kalendářní roky, které jsou starší než 5 roků před aktuálním datem.Remove calendar years that are older than five years prior to the current date. Pokud je aktuální datum například 1. ledna 2019, odebere se rok 2013.For example, if the current date is January 1 2019, the year 2013 is removed.

První aktualizace ve službě Power BI může trvat déle, protože se importuje celých 5 kalendářních roků.The first refresh in the Power BI service may take longer to import all five full calendar years. Následné aktualizace se pak mohou dokončit za zlomek času.Subsequent refreshes may be finished in a fraction of the time.

Rozsahy aktualizací

Aktuální datumCurrent date

Aktuální datum je založené na systémovém datu v okamžiku aktualizace.The current date is based on the system date at the time of refresh. Pokud jste u datové sady ve službě Power BI povolili plánovanou aktualizaci, bude se při určování aktuálního data brát v potaz zadané časové pásmo.If scheduled refresh is enabled for the dataset in the Power BI service, the specified time zone will be taken into account when determining the current date. Tímto časovým pásmem se řídí ručně volané i naplánované aktualizace prostřednictvím služby Power BI, pokud je toto časové pásmo k dispozici.Both manually invoked and scheduled refreshes through the Power BI service observe the time zone if available. Pokud například aktualizace probíhá ve 20:00 tichomořského času (USA a Kanada) a je zadané časové pásmo, určí se aktuální datum podle tichomořského času, nikoli podle časového pásma GMT (jinak by proběhla až další den).For example, a refresh that occurs at 8 PM Pacific Time (US and Canada) with time zone specified will determine the current date based on Pacific Time, not GMT (which would otherwise be the next day). Operace aktualizací, které nejsou vyvolány prostřednictvím služby Power BI, jako je například aktualizační příkaz TMSL, nebudou časové pásmo plánované aktualizace zohledňovat.Refresh operations not invoked through the Power BI service, such as the TMSL refresh command, will not consider the scheduled refresh time zone

Časové pásmo

Poznámka

Je možné, že vám budou stačit definice těchto rozsahů. V takovém případě můžete přejít rovnou ke kroku publikování uvedenému níže.Definition of these ranges might be all you need, in which case you can go straight to the publishing step below. Další rozevírací nabídky se týkají pokročilých funkcí.The additional dropdowns are for advanced features.

Pokročilé možnosti zásadAdvanced policy options

Rozpoznat změny datDetect data changes

Přírůstková aktualizace deseti dnů je mnohem efektivnější než aktualizace celých 5 roků.Incremental refresh of ten days is more efficient than full refresh of five years. Je ale možné to provést i lépe.However, it's possible to do even better. Pokud zaškrtnete políčko Rozpoznat změny dat, můžete vybrat sloupec Datum a čas a pomocí něj identifikovat a aktualizovat pouze ty dny, ve kterých došlo ke změně dat.If you select the Detect data changes checkbox, you can select a date/time column used to identify and refresh only the days where the data has changed. Předpokladem je, že tento sloupec existuje ve zdrojovém systému – obvykle se používá pro účely auditování.This assumes such a column exists in the source system, which is typically for auditing purposes. Neměl by to být stejný sloupec jako ten, který se používá k dělení dat pomocí parametrů RangeStart a RangeEnd.This should not be the same column used to partition the data with the RangeStart/RangeEnd parameters. Maximální hodnota tohoto sloupce se vyhodnotí pro každé období v přírůstkovém rozsahu.The maximum value of this column is evaluated for each of the periods in the incremental range. Pokud se hodnota od poslední aktualizace nezměnila, není potřeba dané období aktualizovat.If it has not changed since the last refresh, there is no need to refresh the period. V uvedeném příkladu by bylo možné dále snížit počet dnů, které se přírůstkově aktualizují, z deseti třeba na dva.In the example, this could further reduce the days incrementally refreshed from ten to around two.

Rozpoznání změn

Tip

Aktuální návrh vyžaduje zachování a uložení sloupce v mezipaměti, aby mohl sloupec rozpoznat změny dat.The current design requires that the column to detect data changes is persisted and cached into memory. Zkuste zvážit použití některého z následujících mechanismů pro snížení kardinality a spotřeby paměti.You may want to consider one of the following techniques to reduce cardinality and memory consumption.

Při aktualizaci zachovejte pouze maximální hodnotu tohoto sloupce, například pomocí funkce Power Query.Persist only the maximum value of this column at time of refresh, perhaps using a Power Query function.

Snižte přesnost na úroveň, která je s ohledem na vaše požadavky frekvence aktualizace přijatelná.Reduce the precision to a level that is acceptable given your refresh-frequency requirements.

Definujte vlastní dotaz pro rozpoznání změn dat pomocí koncového bodu XMLA a úplně se vyhněte zachování hodnoty sloupce.Define a custom query for detecting data changes using the XMLA endpoint and avoid persisting the column value altogether. Další informace najdete níže v části Vlastní dotazy pro rozpoznání změn dat.See custom queries for detect data changes below for more information.

Aktualizovat jenom úplná obdobíOnly refresh complete periods

Řekněme, že máte naplánované spuštění aktualizace každý den ve 4 hodiny ráno.Let's say your refresh is scheduled to run at 4:00 AM every morning. Pokud se ve zdrojovém systému objeví data během těchto 4 hodin, můžete je vynechat.If data appears in the source system during those 4 hours, you may not want to account for it. U některých obchodních metrik, například u počtu barelů za den v ropném a plynárenském průmyslu, nemají necelé dny žádný smysl.Some business metrics such as barrels per day in the oil and gas industry make no sense with partial days.

Dalším příkladem je aktualizace dat z finančního systému, ve kterém jsou data za předchozí měsíc schvalována 12. den v měsíci.Another example is refreshing data from a financial system where data for the previous month is approved on the 12th calendar day of the month. Můžete nastavit přírůstkový rozsah na 1 měsíc a naplánovat spouštění aktualizace na 12. den v měsíci.You could set the incremental range to 1 month and schedule the refresh to run on the 12th day of the month. Když zaškrtnete toto políčko, lednová data by se například aktualizovala 12. února.With this option checked, it would for example refresh January data on February 12th.

Úplná období

Poznámka

Operace aktualizace ve službě používají čas UTC.Refresh operations in the service run under UTC time. Ten může určovat datum platnosti a ovlivňovat úplná období.This can determine the effective date and affect complete periods. Máme v plánu přidat možnost přepisu data platnosti u operace aktualizace.We plan to add the ability to override the effective date for a refresh operation.

Publikování ve služběPublish to the service

Nyní můžete model aktualizovat.You can now refresh the model. První aktualizace může trvat déle, protože se importují historická data.The first refresh may take longer to import the historical data. Následné aktualizace mohou být mnohem rychlejší, protože se bude jednat pouze o přírůstkové aktualizace.Subsequent refreshes can be much quicker because they use incremental refresh.

Časové limity dotazůQuery timeouts

Článek věnovaný řešení potíží s aktualizacemi vysvětluje, že na operace aktualizace ve službě Power BI se vztahují časové limity.The troubleshooting refresh article explains that refresh operations in the Power BI service are subject to timeouts. Dotazy také mohou být omezeny výchozím časovým limitem zdroje dat.Queries can also be limited by the default timeout for the data source. Většina relačních zdrojů umožňuje přepsat časové limity ve výrazu M.Most relational sources allow overriding timeouts in the M expression. Výraz uvedený níže například používá funkci přístupu k datům SQL Serveru pro nastavení časového limitu na 2 hodiny.For example, the expression below uses the SQL Server data-access function to set it to 2 hours. Každé období definované rozsahem zásad odešle dotaz, který sleduje nastavení časového limitu příkazu.Each period defined by the policy ranges submits a query observing the command timeout setting.

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"

Výhody koncového bodu XMLA pro přírůstkovou aktualizaciXMLA endpoint benefits for incremental refresh

Pro datové sady v kapacitě Premium se dá povolit koncový bod XMLA pro operace čtení a zápisu, což může přírůstkové aktualizaci přinést značné výhody.The XMLA endpoint for datasets in a Premium capacity can be enabled for read-write operations, which can provide considerable benefits for incremental refresh. Operace aktualizace prostřednictvím koncového bodu XMLA nejsou omezeny na 48 aktualizací za den a není stanoven časový limit plánované aktualizace, což může být ve scénářích přírůstkové aktualizace užitečné.Refresh operations through the XMLA endpoint are not limited to 48 refreshes per day, and the scheduled refresh timeout is not imposed, which can be useful in incremental refresh scenarios.

Správa aktualizací pomocí sady nástrojů SQL Server Management Studio (SSMS)Refresh management with SQL Server Management Studio (SSMS)

Když je povolen koncový bod XMLA pro čtení a zápis, dají se oddíly vygenerované uplatněním zásad přírůstkové aktualizace zobrazit a spravovat pomocí SSMS.With XMLA endpoint read-write enabled, SSMS can be used to view and manage partitions generated by the application of incremental refresh policies. To například umožňuje aktualizovat konkrétní historický oddíl, který není v přírůstkovém rozsahu, aby se provedla zpětně datovaná aktualizace bez nutnosti aktualizace všech historických dat.This allows, for example, to refresh a specific historical partition not in the incremental range to perform a back-dated update without having to refresh all historical data. SSMS také můžete použít k načtení historických dat u rozsáhlých datových sad tak, že postupně přidáváte/aktualizujete v dávkách historické oddíly.You can also use SSMS to load historical data for very large datasets by incrementally adding/refreshing historical partitions in batches.

Oddíly v SSMS

Přepsání chování přírůstkové aktualizaceOverride incremental refresh behavior

Se SSMS máte také větší kontrolu nad tím, jak vyvolat přírůstkové aktualizace použitím jazyka TMSL (Tabular Model Scripting Language) a modelu TOM (Tabular Object Model).With SSMS, you also have more control over how to invoke incremental refreshes from using the Tabular Model Scripting Language (TMSL) and the Tabular Object Model (TOM). V SSMS například klikněte v Průzkumníku objektů pravým tlačítkem na tabulku a pak v nabídce vyberte možnost Zpracovat tabulku.For example, in SSMS, in Object Explorer, right-click a table and then select the Process Table menu option. Potom klikněte na tlačítko Skript a vygenerujte aktualizační příkaz TMSL.Then click the Script button to generate a TMSL refresh command.

Tlačítko Skript v dialogovém okně Zpracovat tabulky

Do aktualizačního příkazu TMSL můžete vložit následující parametry a přepsat tak výchozí chování přírůstkové aktualizace.The following parameters can be inserted into the TMSL refresh command to override the default incremental refresh behavior.

  • applyRefreshPolicy – pokud má tabulka definované zásady přírůstkové aktualizace, můžete parametrem applyRefreshPolicy určit, jestli se mají zásady použít nebo ne.applyRefreshPolicy – If a table has an incremental refresh policy defined, applyRefreshPolicy will determine if the policy is applied or not. Pokud se zásady nepoužijí, tak operace úplného zpracování ponechá definice oddílů nezměněné a všechny oddíly v tabulce budou plně aktualizovány.If the policy is not applied, a process full operation will leave partition definitions unchanged and all partitions in the table will be fully refreshed. Výchozí hodnota je true (pravda).Default value is true.

  • effectiveDate – pokud se zásady přírůstkové aktualizace použijí, musí znát aktuální datum k určení rozsahů posuvných oken pro historický rozsah a přírůstkový rozsah.effectiveDate – If an incremental refresh policy is being applied, it needs to know the current date to determine rolling window ranges for the historical range and the incremental range. Parametr effectiveDate umožňuje aktuální datum přepsat.The effectiveDate parameter allows you to override the current date. To je užitečné pro testování, ukázky a obchodní scénáře, kdy se data přírůstkově aktualizují do určitého data v minulosti nebo v budoucnosti (například rozpočty v budoucnosti).This is useful for testing, demos, and business scenarios where data is incrementally refreshed up to a date in the past or the future (for example, budgets in the future). Výchozí hodnota je aktuální datum.The default value is the current date.

{ 
  "refresh": {
    "type": "full",

    "applyRefreshPolicy": true,
    "effectiveDate": "12/31/2013",

    "objects": [
      {
        "database": "IR_AdventureWorks", 
        "table": "FactInternetSales" 
      }
    ]
  }
}

Další informace o přepisování výchozího chování přírůstkové aktualizace pomocí TMSL najdete v článku o příkazu Refresh.To learn more about overriding default incremental refresh behavior with TMSL, see Refresh command.

Vlastní dotazy pro rozpoznání změn datCustom queries for detect data changes

Pomocí jazyka TMSL a/nebo modelu TOM můžete přepsat chování při rozpoznaných změnách dat.You can use TMSL and/or TOM to override the detected data changes behavior. Můžete se tím vyhnout zachování sloupce poslední aktualizace v mezipaměti a také umožnit scénáře, kdy procesy ETL připraví konfigurační/instruktážní tabulku k označení pouze těch oddílů, které potřebují být aktualizovány.Not only can this be used to avoid persisting the last-update column in the in-memory cache, it can enable scenarios where a configuration/instruction table is prepared by ETL processes for the purpose of flagging only the partitions that need to be refreshed. To může vytvořit efektivnější proces přírůstkové aktualizace, kdy se aktualizují jenom požadovaná období bez ohledu na to, před jak dlouhou dobou aktualizace nastaly.This can create a more efficient incremental refresh process where only the required periods are refreshed, no matter how long ago data updates took place.

Výraz pollingExpression by měl být jednoduchý výraz M nebo název jiného dotazu M.The pollingExpression is intended to be a lightweight M expression or name of another M query. Musí vracet skalární hodnotu a bude se provádět pro každý oddíl.It must return a scalar value and will be executed for each partition. Pokud se vrácená hodnota liší od hodnoty, jaká byla v čase, kdy přírůstková aktualizace probíhala naposledy, označí se oddíl pro úplné zpracování.If the value returned is different to what it was the last time an incremental refresh occurred, the partition is flagged for full processing.

Následující příklad pokrývá všech 120 měsíců v historickém rozsahu pro zpětně datované změny.The following example covers all 120 months in the historical range for backdated changes. To, že místo 10 let zadáte 120 měsíců, znamená, že komprese dat není příliš efektivní. Vyhnete se tak ale (dražší) nutnosti aktualizovat celý historický rok v případě, že pro zpětně datovanou změnu stačí jednotlivé měsíce.Specifying 120 months instead of 10 years means data compression may not be quite as efficient, but avoids having to refresh a whole historical year, which would be more expensive when a month would suffice for a backdated change.

"refreshPolicy": {
    "policyType": "basic",
    "rollingWindowGranularity": "month",
    "rollingWindowPeriods": 120,
    "incrementalGranularity": "month",
    "incrementalPeriods": 120,
    "pollingExpression": "<M expression or name of custom polling query>",
    "sourceExpression": [
    "let ..."
    ]
}

Nasazení pouze metadatMetadata-only deployment

Když z Power BI Desktopu do pracovního prostoru ve službě Power BI Premium publikujete novou verzi souboru PBIX a datová sada se stejným názvem už existuje, zobrazí se dotaz, jestli chcete existující datovou sadu nahradit.When publishing a new version of a PBIX file from Power BI Desktop to a workspace in Power BI Premium, if a dataset with the same name already exists, you are prompted to replace the existing dataset.

Výzva k nahrazení datové sady

V některých případech nebudete chtít datovou sadu nahradit, zejména u přírůstkové aktualizace.In some cases you may not want to replace the dataset, especially with incremental refresh. Datová sada v Power BI Desktopu může být mnohem menší než datová sada ve službě.The dataset in Power BI Desktop could be much smaller than the one in the service. Pokud se u datové sady ve službě používají zásady přírůstkové aktualizace a takovou datovou sadu nahradíte, můžete přijít o několik let historických dat.If the dataset in the service has an incremental refresh policy applied, it may have several years of historical data that will be lost if the dataset is replaced. Aktualizace všech historických dat může trvat hodiny a znamenat pro uživatele výpadek systému.Refreshing all the historical data could take hours and result in system downtime for users.

Místo toho je lepší provádět nasazení pouze metadat.Instead, it's better to perform a metadata-only deployment. Můžete tak nasadit nové objekty a neztratit historická data.This allows deployment of new objects without losing the historical data. Pokud jste například přidali několik měr, můžete nasadit pouze nové míry, aniž byste museli data aktualizovat. Ušetříte tak spoustu času.For example, if you have added a few measures, you can deploy only the new measures without needing to refresh the data, saving a lot of time.

Koncový bod XMLA nakonfigurovaný pro čtení a zápis zajišťuje kompatibilitu s nástroji, které to umožňují.When configured for read-write, the XMLA endpoint provides compatibility with tools that make this happen. Nástrojem využívajícím rozdíly schémat pro datové sady Power BI je například ALM Toolkit. Dá se použít k nasazení pouze metadat.For example, the ALM Toolkit is a schema diff tool for Power BI datasets and can be used to perform deployment of metadata only.

Nejnovější verzi sady nástrojů ALM Toolkit si můžete stáhnout a nainstalovat z úložiště Analysis Services na Gitu.Download and install the latest version of the ALM Toolkit from the Analysis Services Git repo. Odkazy na dokumentaci a informace o podpoře jsou k dispozici prostřednictvím pásu karet nápovědy.Documentation links and information on supportability are available via the Help ribbon. Když chcete provést nasazení pouze metadat, proveďte porovnání a vyberte běžící instanci Power BI Desktopu jako zdroj a existující datovou sadu ve službě jako cíl.To perform a metadata only deployment, perform a comparison and select the running Power BI Desktop instance as the source, and the existing dataset in the service as the target. Zvažte zobrazené rozdíly a přeskočte aktualizaci tabulky s oddíly přírůstkové aktualizace nebo použijte dialogové okno možností a zachovejte oddíly pro aktualizace tabulky.Consider the differences displayed and skip the update of the table with incremental refresh partitions, or use the Options dialog to retain partitions for table updates. Ověřte výběr, abyste zajistili integritu cílového modelu, a pak aktualizujte.Validate the selection to ensure the integrity of the target model and then update.

ALM Toolkit

Viz takéSee also

Připojení datové sady pomocí koncového bodu XMLA Dataset connectivity with the XMLA endpoint
Řešení potíží se scénáři aktualizaceTroubleshooting refresh scenarios

Power BI představuje Power BI Premium Gen2 jako nabídku ve verzi Preview, která vylepšuje prostředí Power BI Premium v následujících oblastech:Power BI has introduced Power BI Premium Gen2 as a preview offering, which improves the Power BI Premium experience with improvements in the following:

  • VýkonPerformance
  • Licence vázané na uživatelePer-user licensing
  • Větší možnosti škálováníGreater scale
  • Vylepšené metrikyImproved metrics
  • Automatické škálováníAutoscaling
  • Snížení režijních nákladů na správuReduced management overhead

Další informace o Power BI Premium Gen2 najdete v článku o Power BI Premium Generation 2 (Preview).For more information about Power BI Premium Gen2, see Power BI Premium Generation 2 (preview).