Konfigurace přírůstkové aktualizace a dat v reálném čase
Tento článek popisuje, jak nakonfigurovat přírůstkovou aktualizaci a data v reálném čase pro datové sady. Další informace o konfiguraci přírůstkové aktualizace pro toky dat najdete v tématu Prémiové funkce toků dat – Přírůstková aktualizace.
Konfigurace přírůstkové aktualizace zahrnuje vytvoření parametrů RangeStart a RangeEnd, použití filtrů a definování zásad přírůstkové aktualizace. Po publikování do služba Power BI provedete operaci počáteční aktualizace datové sady. Počáteční operace aktualizace a následné operace aktualizace použijí zásady přírůstkové aktualizace, které jste definovali. Před dokončením těchto kroků se ujistěte, že plně rozumíte funkcím popsaným v tématu Přírůstková aktualizace a data datových sad v reálném čase.
Vytvoření parametrů
V této úloze použijete Editor Power Query k vytvoření parametrů RangeStart a RangeEnd s výchozími hodnotami. Výchozí hodnoty platí pouze při filtrování dat, která se mají načíst do modelu v Power BI Desktop. Zadané hodnoty by měly obsahovat jenom malé množství nejnovějších dat ze zdroje dat. Při publikování do služby jsou tyto hodnoty časového rozsahu přepsány zásadami přírůstkové aktualizace. To znamená, že zásada vytváří okna příchozích dat, jedno po druhém.
V Power BI Desktop otevřete výběrem možnosti Transformovat data na pásu karet Domů Editor Power Query.
Vyberte rozevírací seznam Spravovat parametry a pak zvolte Nový parametr.
Do pole Název zadejte RangeStart (rozlišují se malá a velká písmena). V poli Typ vyberte z rozevíracího seznamu Datum a čas . Do pole Aktuální hodnota zadejte počáteční datum a čas.
Vyberte Nový a vytvořte druhý parametr s názvem RangeEnd. V poli Typ vyberte Datum a čas a pak do pole Aktuální hodnota zadejte hodnotu koncového data a času. Vyberte OK.
Teď, když jste definovali parametry RangeStart a RangeEnd, na základě těchto parametrů vyfiltrujete data, která se mají do modelu načíst.
Filtrování dat
Poznámka
Než budete pokračovat v tomto úkolu, ověřte, že zdrojová tabulka obsahuje sloupec data datového typu Datum a čas. Pokud nemá sloupec Datum a čas, ale obsahuje sloupec kalendářního data s celočíselnými náhradními klíči ve tvaru yyyymmdd
, postupujte podle kroků v části Převod data a času na celé číslo dále v tomto článku a vytvořte funkci, která převede hodnotu data a času v parametrech tak, aby odpovídala celočíselnému náhradnímu klíči zdrojové tabulky.
Teď použijete filtr na základě podmínek v parametrech RangeStart a RangeEnd.
V Editor Power Query vyberte sloupec kalendářních dat, který chcete filtrovat, a pak zvolte šipku > rozevíracího seznamu Filtry> dataVlastní filtr.
Pokud chcete v části Filtrovat řádky zadat první podmínku, vyberte je po , nebo je po nebo je rovna, pak zvolte Parametr a pak zvolte RozsahStart.
Pokud chcete zadat druhou podmínku, pokud jste v první podmínce vybrali je po , zvolte je před nebo rovno, nebo pokud jste v první podmínce vybrali je po nebo rovno , pak zvolte je před pro druhou podmínku, pak zvolte Parametr a pak zvolte RangeEnd.
Důležité: Ověřte, že dotazy mají hodnotu rovno (=) v RangeStart nebo RangeEnd, ale ne v obou. 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. Může například vést k duplicitním datům,
= Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd)
pokud existuje OrderDate, které se rovná RangeStart a RangeEnd.Zavřete ho výběrem OK .
Na pásu karet Domů v Editor Power Query vyberte Zavřít & Použít. Power Query načítá data na základě filtrů definovaných parametry RangeStart a RangeEnd a všech dalších filtrů, které jste definovali.
Power Query načítá pouze data zadaná mezi parametry RangeStart a RangeEnd. V závislosti na množství dat v daném období by se měla tabulka načítat rychle. Pokud se zdá být pomalý a náročný na procesy, je pravděpodobné, že dotaz není posouvání.
Definování zásad
Po definování parametrů RangeStart a RangeEnd a vyfiltrování dat na základě těchto parametrů definujete zásadu přírůstkové aktualizace. Tato zásada se použije až po publikování modelu do služby a provedení ruční nebo plánované operace aktualizace.
V zobrazení dat klikněte pravým tlačítkem na tabulku v podokně Data a vyberte Přírůstková aktualizace.
V části Přírůstková aktualizace a data> v reálném časeVyberte tabulku a ověřte nebo vyberte tabulku. Výchozí hodnotou seznamu Vybrat tabulku je tabulka, kterou jste vybrali v zobrazení dat.
Zadejte požadovaná nastavení:
V části Nastavit rozsahy> importu a aktualizacePřírůstková aktualizace této tabulky přesuňte posuvník do polohy Zapnuto. Pokud je posuvník zakázaný, znamená to, že výraz Power Query tabulky neobsahuje filtr založený na parametrech RangeStart a RangeEnd.
V části Archivovat data od začátku zadejte historické období úložiště , které chcete zahrnout do datové sady. Všechny řádky s kalendářními daty v tomto období se načtou do datové sady ve službě, pokud neplatí jiné filtry.
V části Spuštění přírůstkové aktualizace dat zadejte období aktualizace . Všechny řádky s kalendářními daty v tomto období se aktualizují v datové sadě pokaždé, když služba Power BI provede ruční nebo plánovanou operaci aktualizace.
Zadejte volitelná nastavení:
V části Zvolit volitelná nastavení vyberte Získat nejnovější data v reálném čase pomocí DirectQuery (jenom Premium), aby se zahrnuly nejnovější změny dat, ke kterým ve zdroji dat došlo po poslední době aktualizace. Toto nastavení způsobí, že zásady přírůstkové aktualizace přidají do tabulky oddíl DirectQuery.
Pokud chcete aktualizovat jenom celé dny, vyberte Aktualizovat pouze celé dny. Pokud operace aktualizace zjistí, že se den nedokončí, řádky pro tento celý den se neaktualují. Tato možnost se automaticky povolí, když vyberete Získat nejnovější data v reálném čase pomocí DirectQuery (jenom Premium).
Vyberte Zjistit změny dat a zadejte sloupec data a času, který se použije k identifikaci a aktualizaci pouze dnů, ve kterých se data změnila. Ve zdroji dat musí existovat sloupec data a času, obvykle pro účely auditování. Tento sloupec by neměl být stejný jako sloupec , který se používá k dělení dat pomocí parametrů RangeStart 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, aktuální období se neaktualizuje. U datových sad publikovaných do kapacit Premium můžete také zadat vlastní dotaz. Další informace najdete v tématu Pokročilá přírůstková aktualizace – vlastní dotazy pro zjišťování změn dat.
V závislosti na nastavení by vaše zásady měly vypadat přibližně takto:
Zkontrolujte nastavení a pak výběrem možnosti Použít dokončete zásady aktualizace. Tento krok nenačte data.
Uložení a publikování do služby
Teď, když jsou parametry RangeStart a RangeEnd, filtrování a aktualizace zásad dokončené, uložte model a pak publikujte do služby. Pokud bude vaše datová sada velká, nezapomeňte před vyvoláním první aktualizace ve službě povolit velký formát úložiště datové sady.
Aktualizovat datovou sadu
Ve službě aktualizujte datovou sadu. První aktualizace načte nová i aktualizovaná data v období aktualizace i historická data za celé období úložiště. V závislosti na množství dat může tato aktualizace chvíli trvat. Následné aktualizace, ať už ruční, nebo naplánované, jsou obvykle mnohem rychlejší, protože se použijí zásady přírůstkové aktualizace a aktualizují se jenom data za období zadané v nastavení zásad aktualizace.
Převod hodnoty DateTime na celé číslo
Tento úkol je povinný jenom v případě, že tabulka používá celočíselné náhradní klíče místo hodnot data a času ve sloupci kalendářního data, který používáte pro definici filtru RangeStart a RangeEnd.
Datový typ parametrů RangeStart a RangeEnd musí být datového typu datum a čas bez ohledu na datový typ sloupce data. U mnoha zdrojů dat však tabulky nemají sloupec datového typu datum a čas, ale místo toho mají sloupec kalendářního data s celočíselnými náhradními klíči ve tvaru yyyymmdd
. Tyto celočíselné náhradní klíče obvykle nemůžete převést na datový typ Datum a čas, protože výsledkem by byl výraz dotazu, který není přeložený, ale můžete vytvořit funkci, která převede hodnotu data a času v parametrech tak, aby odpovídala celočíselnému náhradnímu klíči tabulky zdroje dat, aniž by se ztratila skládací schopnost. Funkce se pak volá v kroku filtru. Tento krok převodu je povinný, pokud tabulka zdroje dat obsahuje jako celočíselný datový typ pouze náhradní klíč.
Na pásu karet Domů v Editor Power Query vyberte rozevírací seznam Nový zdroj a pak zvolte Prázdný dotaz.
V nastavení dotazu zadejte název, například DateKey, a pak v editoru vzorců zadejte následující vzorec:
= (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)
Vzorec otestujete tak, že do pole Zadat parametr zadáte hodnotu data a času a pak vyberete Vyvolat. Pokud je vzorec správný, vrátí se celočíselná hodnota data. Po ověření odstraňte tento nový dotaz na vyvolanou funkci .
V části Dotazy vyberte tabulku a pak upravte vzorec dotazu tak, aby volal funkci s parametry RangeStart a RangeEnd.
= Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))
Viz také
Řešení potíží s konfigurací přírůstkové aktualizace
Pokročilá přírůstková aktualizace s využitím koncového bodu XMLA
Konfigurace plánované aktualizace