Megosztás a következőn keresztül:


Növekményes frissítés és valós idejű adatok konfigurálása

Ez a cikk bemutatja, hogyan konfigurálhat növekményes frissítést és valós idejű adatokat szemantikai modellekhez. Az adatfolyamok növekményes frissítésének konfigurálásáról további információt az adatfolyamok Prémium funkciói – Növekményes frissítés című témakörben talál.

A növekményes frissítés konfigurálása magában foglalja a RangeStart és RangeEnd paraméterek létrehozását, a szűrők alkalmazását és a növekményes frissítési szabályzat definiálását. Miután közzétette a Power BI szolgáltatás, egy kezdeti frissítési műveletet fog végrehajtani a modellen. A kezdeti frissítési művelet és az azt követő frissítési műveletek a megadott növekményes frissítési szabályzatot alkalmazzák. A lépések elvégzése előtt győződjön meg arról, hogy teljes mértékben ismeri a növekményes frissítésben és a szemantikai modellek valós idejű adataiban leírt funkciókat.

Paraméterek létrehozása

Ebben a feladatban a Power Query-szerkesztő használatával hozza létre a RangeStart és a RangeEnd paramétereket alapértelmezett értékekkel. Az alapértelmezett értékek csak akkor érvényesek, ha a Power BI Desktopban szűri a modellbe betöltendő adatokat. A megadott értékeknek csak kis mennyiségű adatot kell tartalmazniuk az adatforrásból. A szolgáltatásban való közzétételkor ezeket az időtartomány-értékeket a növekményes frissítési szabályzat felülírja. Vagyis a szabályzat egymás után hozza létre a bejövő adatok ablakait.

  1. A Power BI Desktopban válassza az Adatok átalakítása lehetőséget a Kezdőlap menüszalagján a Power Query-szerkesztő megnyitásához.

  2. Válassza a Paraméterek kezelése legördülő menüt, majd az Új paraméter lehetőséget.

  3. A Név mezőben adja meg a RangeStart (kis- és nagybetűk megkülönböztetése) értéket. A Típus mezőben válassza a Dátum/idő lehetőséget a legördülő listából. Az Aktuális érték mezőben adjon meg egy kezdő dátum- és időértéket.

    Define the Range Start parameter in the Manage Parameters dialog.

  4. Válassza az Új lehetőséget a RangeEnd nevű második paraméter létrehozásához. A Típus mezőben válassza a Dátum/idő lehetőséget, majd az Aktuális érték mezőben adjon meg egy záró dátum- és időértéket. Kattintson az OK gombra.

    Define the Range End parameter in the Manage Parameters dialog.

Most, hogy definiálta a RangeStart és a RangeEnd paramétereket, ezen paraméterek alapján szűrni fogja a modellbe betöltendő adatokat.

Adatok szűrése

Feljegyzés

Mielőtt folytatná ezt a feladatot, ellenőrizze, hogy a forrástábla dátumoszlopa dátum/idő típusú-e. Ha nem tartalmaz Dátum/idő oszlopot, de az egész szám helyettesítő kulcsainak yyyymmdddátumoszlopával rendelkezik, kövesse a cikk Későbbi dátum/idő konvertálása egész számmá című szakaszának lépéseit, és hozzon létre egy függvényt, amely átalakítja a paraméterek dátum/idő értékét a forrástábla egész számjelkulcsának megfelelően.

Most a RangeStart és a RangeEnd paraméterek feltételei alapján alkalmaz egy szűrőt.

  1. A Power Query-szerkesztő válassza ki a szűrni kívánt dátumoszlopot, majd válassza a legördülő nyíl >Dátumszűrők>egyéni szűrője lehetőséget.

  2. A Szűrősorok területen az első feltétel megadásához válassza ki az azt követő vagy követő vagy egyenlő feltételt, majd válassza a Paraméter lehetőséget, majd válassza a RangeStart lehetőséget.

    A második feltétel megadásához, ha a kiválasztott feltétel az első feltétel után van , akkor válassza ki az első feltétel előtti vagy egyenlő értéket, vagy ha az első feltétel után van vagy egyenlő , akkor válassza a második feltétel előtti értéket, majd válassza a Paraméter, majd a RangeEnd lehetőséget.

    Filter rows dialog showing Range Start and Range End conditions.

    Fontos: Ellenőrizze, hogy a lekérdezések értéke (=) a RangeStart vagy a RangeEnd esetében egyenlő-e, de mindkettő nem. Ha az egyenlő (=) mindkét paraméteren létezik, egy sor megfelelhet két partíció feltételeinek, ami duplikált adatokat eredményezhet a modellben. Például duplikált adatokat eredményezhet, = Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) ha van olyan OrderDate, amely egyenlő a RangeStart és a RangeEnd értékekkel is.

    Zárja be az OK gombot.

  3. A Power Query-szerkesztő Kezdőlap menüszalagján válassza a Bezárás és alkalmazás lehetőséget. A Power Query betölti az adatokat a RangeStart és RangeEnd paraméterek által meghatározott szűrők, valamint az Ön által definiált egyéb szűrők alapján.

    A Power Query csak a RangeStart és a RangeEnd paraméterek között megadott adatokat tölti be. Az adott időszak adatainak mennyiségétől függően a táblázatnak gyorsan be kell töltődnie. Ha lassúnak és folyamatigényesnek tűnik, akkor valószínű , hogy a lekérdezés nem csukható össze.

Szabályzat definiálása

Miután definiálta a RangeStart és RangeEnd paramétereket, és ezen paraméterek alapján szűrte az adatokat, növekményes frissítési szabályzatot fog definiálni. Ezt a szabályzatot csak a modell szolgáltatásban való közzététele után alkalmazza a rendszer, és manuális vagy ütemezett frissítési műveletet hajt végre.

  1. Adatnézetben kattintson a jobb gombbal egy táblára az Adat ablaktáblán, és válassza a Növekményes frissítés lehetőséget.

    Data view showing Table context menu with Incremental refresh selected.

  2. Növekményes frissítésben és valós idejű adatokban>Jelölje ki a táblát, és ellenőrizze vagy jelölje ki a táblát. A Tábla kiválasztása listamező alapértelmezett értéke az Adatnézetben kijelölt táblázat.

  3. Adja meg a szükséges beállításokat:

    Az Importálási és frissítési tartományok beállítása területen növekményesen>frissítse ezt a táblázatot, és helyezze át a csúszkát a Be értékre. Ha a csúszka le van tiltva, az azt jelenti, hogy a tábla Power Query-kifejezése nem tartalmaz a RangeStart és a RangeEnd paramétereken alapuló szűrőt.

    Az Archív adatok kezdő szakaszában adja meg a modellbe felvenni kívánt előzménytár-időszakot. Az ebben az időszakban dátumokkal rendelkező összes sor betöltődik a modellbe a szolgáltatásban, kivéve, ha más szűrők vonatkoznak rá.

    Az adatok növekményes frissítésekor adja meg a frissítési időszakot. Az ebben az időszakban dátumokat tartalmazó sorok minden alkalommal frissülnek a modellben, amikor a Power BI szolgáltatás manuális vagy ütemezett frissítési műveletet hajt végre.

  4. Adja meg a választható beállításokat:

    A Választható beállítások kiválasztása területen válassza a Legfrissebb adatok beolvasása valós időben a DirectQueryvel (csak prémium szintű) lehetőséget az adatforrásban az utolsó frissítési időszak után történt legutóbbi adatváltozások megjelenítéséhez. Ez a beállítás azt eredményezi, hogy a növekményes frissítési szabályzat DirectQuery-partíciót ad hozzá a táblához.

    Csak a teljes napok frissítéséhez válassza a Csak a teljes napok frissítése lehetőséget. Ha a frissítési művelet azt észleli, hogy egy nap nem fejeződött be, az adott napra vonatkozó sorok nem frissülnek. Ez a beállítás automatikusan engedélyezve van, ha a Legújabb adatok lekérése valós időben lehetőséget választja a DirectQueryvel (csak Prémium verzió esetén).

    Válassza az Adatváltozások észlelése lehetőséget egy dátum/idő oszlop megadásához, amellyel csak azokat a napokat azonosíthatja és frissítheti, ahol az adatok megváltoztak. Az adatforrásban dátum/idő oszlopnak kell lennie, általában naplózási célokra. Ez az oszlop nem lehet ugyanaz az oszlop , amelyet az adatok RangeStart és RangeEnd paraméterekkel való particionálásához használnak. Ennek az oszlopnak a maximális értékét a növekményes tartomány minden egyes időszakára kiértékeli a rendszer. Ha az utolsó frissítés óta nem változott, az aktuális időszak nem frissül. A Prémium szintű kapacitásokban közzétett modellekhez egyéni lekérdezést is megadhat. További információ: Speciális növekményes frissítés – Egyéni lekérdezések az adatváltozások észleléséhez.

    A beállításoktól függően a szabályzatnak a következőképpen kell kinéznie:

    Incremental refresh and real-time data policy dialog showing incremental refresh range.

  5. Tekintse át a beállításokat, majd kattintson az Alkalmaz gombra a frissítési szabályzat végrehajtásához. Ez a lépés nem tölt be adatokat.

Mentés és közzététel a szolgáltatásban

Most, hogy a RangeStart és a RangeEnd paraméterek, szűrési és frissítési házirend-beállítások elkészültek, mentse a modellt, majd tegye közzé a szolgáltatásban. Ha a modell nagy méretűvé válik, mindenképpen engedélyezze a nagy méretű modell tárolási formátumát, mielőtt a szolgáltatás első frissítését kezdeményezné.

Modell frissítése

A szolgáltatásban frissítse a modellt. Az első frissítés az új és a frissített adatokat is betölti a frissítési időszakban, valamint a teljes tárolási időszakra vonatkozó előzményadatokat. Az adatok mennyiségétől függően a frissítés eltarthat egy ideig. A későbbi, manuális vagy ütemezett frissítések általában sokkal gyorsabbak, mivel a növekményes frissítési szabályzatot alkalmazza a rendszer, és csak a frissítési szabályzat beállításában megadott időszakra vonatkozó adatok frissülnek.

DateTime konvertálása egész számmá

Ez a feladat csak akkor szükséges, ha a tábla a RangeStart és a RangeEnd szűrődefinícióhoz használt dátum/idő értékek helyett egész szám helyettesítő kulcsokat használ.

A RangeStart és a RangeEnd paraméterek adattípusának dátum/idő típusúnak kell lennie a dátumoszlop adattípusától függetlenül. Sok adatforrás esetében azonban a táblák nem rendelkeznek dátum/idő típusú adattípusú oszlopmal, hanem egész szám helyettesítő kulcsok dátumoszlopával yyyymmddrendelkeznek. Ezeket az egész szám helyettesítő kulcsokat általában nem lehet dátum/idő típusúra konvertálni, mert az eredmény nem összecsukható lekérdezési kifejezés lenne, de létrehozhat egy függvényt, amely a paraméterek dátum/idő értékét úgy alakítja át, hogy megfeleljen az adatforrástábla egész szám helyettesítő kulcsának anélkül, hogy elveszítené az összecsukhatóságot. A függvény ezután egy szűrőlépésben lesz meghívva. Erre a konverziós lépésre akkor van szükség, ha az adatforrástáblában csak helyettesítő kulcs található egész szám adattípusként.

  1. A Power Query-szerkesztő Kezdőlap menüszalagján válassza az Új forrás legördülő menüt, majd az Üres lekérdezés lehetőséget.

  2. A Lekérdezés Gépház adjon meg egy nevet( például DateKey), majd a képletszerkesztőben adja meg a következő képletet:

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

    Power BI function editor showing the integer surrogate DateKey function.

  3. A képlet teszteléséhez adja meg a dátum/idő értéket az Enter Paraméter mezőben, majd válassza a Meghívás lehetőséget. Ha a képlet helyes, a dátum egészértéket ad vissza. Az ellenőrzés után törölje ezt az új meghívott függvény lekérdezést.

  4. A Lekérdezések területen jelölje ki a táblát, majd szerkessze a lekérdezési képletet, hogy meghívja a függvényt a RangeStart és a RangeEnd paraméterekkel.

    = Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))

    Power BI table showing DateKey filter.