Valós idejű streamelés a Power BI-ban

A Power BI valós idejű streamelésével valós időben streamelhet adatokat és frissítheti az irányítópultokat. A Power BI-ban elkészített vizualizációk vagy irányítópultok képesek valós idejű adatok és vizualizációk megjelenítésére és frissítésére. A streamelési adatok forrásai és eszközei lehetnek ipari érzékelők, közösségimédia-források, szolgáltatáshasználati metrikák, vagy sok más időfüggő adatgyűjtő és továbbító.

Screenshot of the Environmental sensors dashboard, showing the results of the data in real-time.

Ebben a cikkben bemutatjuk, hogyan lehet beállítani egy valós idejű streamelési adatkészletet a Power BI-ban. Először fontos megismerni a csempéken (és irányítópultokon) megjeleníthető valós idejű adathalmazok típusait, valamint a típusok közti különbségeket.

A valós idejű adatkészletek típusai

A valós idejű irányítópultokon megjeleníthető valós idejű adathalmazoknak három típusuk van:

  • Leküldéses adatkészlet
  • Streamelési adatkészlet
  • PubNub-alapú streamelési adatkészlet

Első lépésként (ebben a részben) ismertetjük, hogy miben különböznek egymástól, majd bemutatjuk, hogyan lehet adatokat leküldeni a különféle adatkészletekbe.

Leküldéses adatkészlet

Leküldéses adatkészlet esetén az adatok leküldéssel kerülnek a Power BI szolgáltatásba. Amikor létrejön az adatkészlet, a Power BI automatikusan létrehoz a szolgáltatásban egy új adatbázist az adatok tárolására. A háttérben működik egy adatbázis, amely folyamatosan tárolja a bejövő adatokat, ezért az adatokból jelentések készíthetők. Ezek a jelentések és a vizualizációik éppen olyanok, mint bármilyen más jelentés vizualizációja, így a vizualizációk létrehozásához a Power BI összes jelentéskészítő funkciója használható, egyebek közt a Power BI-vizualizációk, az adatértesítések és az irányítópultra rögzített csempék.

Ha létrejött egy leküldéses adatkészletet használó jelentés, akkor annak a vizualizációi rögzíthetők az irányítópultokon. Az irányítópulton a vizualizációk valós időben frissülnek az adatok frissítésekor. Minden alkalommal, amikor új adatok érkeznek, az irányítópult kezdeményezi a szolgáltatásban a csempék frissítését.

Két szempontot érdemes figyelembe venni a leküldéses adatkészletek rögzített csempéivel kapcsolatban:

  • Ha az élő oldal rögzítése lehetőséggel rögzít egy teljes jelentést, attól még az adatok nem fognak automatikusan frissülni.
  • Miután rögzített egy vizualizációt egy irányítópulton, a minőségbiztosítási& szolgáltatással természetes nyelven tehet fel kérdéseket a leküldéses adathalmazról. Miután végzett egy minőségbiztosítási& lekérdezést, rögzítheti az eredményként kapott vizualizációt az irányítópulton, és az irányítópult is valós időben frissül.

Streamelési adatkészlet

A streamelési adatkészletek adatai szintén leküldéssel kerülnek az Power BI szolgáltatásba, van azonban egy fontos különbség: A Power BI csak egy átmeneti gyorsítótárban tárolja az adatokat, és az gyorsan kiürül. Az átmeneti gyorsítótár csak olyan vizualizációkhoz használható, amelyek rövid időre visszamenőleg jelenítik meg az előzményeket, mint amilyen például egy egyórás időtartományú vonaldiagram.

A adatkészlet esetében nincs a háttérben működő adatbázis, így nem készíthetők vizualizációk a jelentésekhez a streamből beérkező adatokból. Tehát nem lesznek használhatók egyebek között olyan jelentési funkciók sem, mint a szűrés vagy a Power BI-vizualizációk.

Streamelési adathalmazt kizárólag úgy jeleníthet meg, ha felvesz egy csempét, és a streamelési adathalmazt egyéni streamelési adatok típusú forrásként használja. A streamelési adatkészleten alapuló egyedi streamelési csempék valós idejű adatok gyors megjelenítésére vannak optimalizálva. Kicsi a késés az adatok Power BI szolgáltatásba küldése és a vizualizáció frissülése között, ugyanis nincs szükség arra, hogy az adatok bekerüljenek egy adatbázisba, és onnan beolvassák őket.

A gyakorlatban a streamelésiadatkészletek és a hozzájuk kapcsolódó streamelési vizualizációk olyan helyzetekben használhatók a legjobban, amikor alapvető fontosságú az adatok beérkezése és megjelenítése között késés minimalizálása. Emellett tanácsos olyan formátumban leküldetni az adatokat, hogy ebben az állapotukban, mindenféle további összesítés nélkül lehessen megjeleníteni őket. Ilyen kész adat például a hőmérséklet vagy az előre kiszámolt átlag.

PubNub-alapú streamelési adatkészlet

PubNub-alapú streamelési adathalmaz esetén a Power BI webügyfél a PubNub SDK-val beolvas egy meglévő PubNub-adatstreamet. A Power BI szolgáltatás nem tárol adatokat. Mivel ez a hívás közvetlenül a webes ügyfélről történik, a PubNubhoz érkező forgalmat is az engedélyezési listára kell helyezni, ha csak a jóváhagyott kimenő forgalmat engedélyezi a hálózatról. Tekintse meg a PubNub kimenő forgalmának jóváhagyását ismertető támogatási cikkben szereplő utasításokat.

Ahogyan a adatkészlet esetében, úgy a PubNub-alapú streamelési adatkészlet esetében sem működik a háttérben adatbázis, így nem készíthetők a folyamatosan beérkező adatokon alapuló jelentésekhez vizualizációk, és nem használhatók ki egyebek között az olyan jelentési funkciók előnyei sem, mint például a szűrés vagy a Power BI-vizualizációk. Így a PubNub-alapú streamelési adatkészlet kizárólag úgy jeleníthető meg, ha felvesz egy csempét az irányítópulton, és a PubNub-alapú streamelési adatkészletet konfigurálja a forrásaként.

A PubNub-alapú streamelési adatkészleten alapuló csempék valós idejű adatok gyors megjelenítésére vannak optimalizálva. Mivel a Power BI közvetlenül kapcsolódik a PubNub-streamhez, kicsi a késés az adatok Power BI szolgáltatásba küldése és a vizualizáció frissülése között.

Streamelési adatkészlet mátrixa

A következő táblázat (vagy ha úgy tetszik, mátrix) ismerteti a valós idejű streamelés három típusát, illetve képességeiket és korlátozásaikat.

Screenshot of a table, showing the streaming dataset matrix.

Adatok leküldése adatkészletekbe

Az előző szakasz ismertette a három valós idejű adatkészlettípust, amellyel valós idejű streamelés lehetséges, valamint a köztük megmutatkozó eltéréseket. Ez a szakasz azt ismerteti, hogy hogyan hozhat létre ilyen adatkészleteket, illetve hogyan küldhet le adatokat ezekbe az adatkészletekbe.

Három alapvető módszerrel küldhet le adatokat egy adatkészletbe:

  • A Power BI REST API-k használatával
  • A streamelési adatkészlet felhasználói felületén
  • Az Azure Stream Analytics használatával

Vegyük sorra ezeket a módszereket.

Adatok leküldése a Power BI REST API-k használatával

A Power BI REST API-k legjobban leküldéses és streamelési adatkészletek létrehozására, illetve az ezekbe történő adatküldésre használhatók. Ha a Power BI REST API-kal hoz létre egy adatkészletet, akkor a defaultMode jelző határozza meg, hogy az adatkészlet leküldéses vagy streamelési adatkészlet lesz. Ha nincs beállítva a defaultMode jelző, akkor az adatkészlet alapértelmezés szerint leküldéses adatkészlet lesz.

Ha a defaultModepushStreaming értékre van állítva, akkor az adatkészlet egyszerre lesz leküldésesésstreamelési adatkészlet, ami mindkét típus előnyeit nyújtja.

Megjegyzés

Ha egy olyan adatkészletet használ, amelynek a defaultMode jelzője pushStreaming értékre van állítva, és egy kérés mérete meghaladja a streamelési adatkészletekre vonatkozó 15 Kb-es méretkorlátot, de nem haladja meg a leküldéses adatkészletekre vonatkozó 16 MB-os méretkorlátot, akkor a kérés sikeres lesz, és az adat frissülni fog a leküldéses adatkészletben. Ugyanakkor a streamelési csempék átmenetileg nem fognak működni.

Az adathalmaz létrehozása után a REST API-kkal küldheti le az adatokat a PostRows API segítségével.

A REST API-knak küldött kéréseket az Azure AD OAuth védi.

Adatok leküldése a streamelési adatkészlet felhasználói felületén

A Power BI szolgáltatásban létrehozhat adatkészleteket az API módszer kiválasztásával, ahogyan az a következő képen látható.

Screenshot of the New streaming dataset choices, showing the A P I selection.

Új streamelési adatkészlet létrehozásakor az alább látható módon engedélyezheti az Előzményadatok elemzése beállítást, amely jelentős hatást fejt ki.

Screenshot of the New streaming dataset, showing the Historic data analysis enabled.

Ha az Előzményadatok elemzése le van tiltva (alapértelmezés szerint le van), akkor streamelési adathalmazt hoz létre, ahogyan azt már korábban ismertettük ebben a cikkben. Ha engedélyezve van az Előzményadatok elemzése, akkor a létrehozott adatkészlet egyszerre lesz streamelési adatkészlet és leküldéses adatkészlet. Ez megegyezik azzal az esettel, amikor a Power BI REST API-k használatával hoz létre egy adatkészletet úgy, hogy a defaultMode jelző pushStreaming értékre van állítva, ahogyan azt már korábban ismertettük ebben a cikkben.

Megjegyzés

A Power BI szolgáltatás felhasználói felületén létrehozott streamelési adatkészletek esetében, ahogyan korábban is jeleztük, nincs szükség Azure AD-hitelesítésre. Az ilyen adatkészletekben az adatkészlet tulajdonosa kap egy URL-t, amely tartalmazza a sorkulcsot, amely Azure AD OAuth tulajdonosi jogkivonat nélkül hitelesíti az adatkészletbe történő adatleküldés kérelmezőjét. Ugyanakkor az Azure AD-n (AAD-n) alapuló módszer továbbra is működik az adatoknak az adathalmazba történő leküldésekor.

Adatok leküldése az Azure Stream Analytics használatával

Az Azure Stream Analyticsben (ASA-ban) a Power BI megadható kimenetként, majd a Power BI szolgáltatásban ezek a streamek valós időben megjeleníthetők. Ez a szakasz ennek a folyamatnak a technikai részleteit ismerteti.

Az Azure Stream Analytics létrehozza a Power BI felé irányuló kimeneti streamet a Power BI REST API-kkal, és a defaultMode jelzőt pushStreaming értékre állítja. Ennek köszönhetően az adathalmaz mind a leküldéses, mind pedig a streamelési adathalmazok előnyeivel rendelkezni fog. Az adathalmaz létrehozásakor az Azure Stream Analytics a retentionPolicy jelzőt basicFIFO értékre állítja. Ezzel a beállítással a leküldéses adathalmazt támogató adatbázis 200 000 sor tárolására lesz képes, ennek elérése után FIFO módszerrel elkezdi eldobni a sorokat, vagyis mindig a legrégebbiek eldobásával kezdi.

Figyelemfelhívás

Ha az Azure Stream Analytics-lekérdezés nagyon gyakori kimenetet eredményez a Power BI felé (például másodpercenként egyet vagy kettőt), akkor az Azure Stream Analytics elkezdi ezeket a kimeneteket egyetlen kéréssé kötegelni. A kérés mérete emiatt meghaladhatja a streamelési csempe méretkorlátozását. Ez esetben a streamelési csempék megjelenítése nem fog működni, ahogyan azt már a korábbi szakaszokban is említettük. Ilyenkor az ajánlott eljárás a Power BI felé irányuló adatkimenet sebességének csökkentése, például a másodpercenkénti maximális érték helyett a 10 másodpercenkénti maximális érték beállításával.

Valós idejű streamelési adatkészlet beállítása a Power BI-ban

Már érintettük a valós idejű streamelési adatkészletek három típusát, valamint a három alapvető módszert, amellyel adatokat lehet leküldeni ezekbe az adatkészletekbe. Így elérkezett az ideje, hogy beállítsunk egy működő, valós idejű streamelési adatkészletet a Power BI-ban.

A valós idejű streamelés első lépéseként ki kell választani két lehetőség közül, hogy hogyan történjen a Power BI-ban a streamelési adatok felhasználása:

  • csempék – ezek vizualizációkat jelenítenek meg a streamelési adatokból
  • adatkészletek – ezek a streamelési adatokból jönnek létre, és megőrzi őket a Power BI

Bármelyik lehetőséget választja is, be kell állítania a streamelési adatokat a Power BI-ban. Ehhez válassza az irányítópulton (egy meglévőn vagy egy újon) a Csempe hozzáadása, majd az Egyedi streamelési adatok lehetőséget.

Screenshot of the dashboard, showing the Custom streaming data selection in the Add tile section.

Ha még nincsenek beállítva streamelési adatai, akkor sem kell aggódnia: első lépésként válassza az Adatkészletek kezelése lehetőséget.

Screenshot of the dashboard, showing the manage data link in the Add a custom streaming data tile.

Ezen az oldalon (a szövegmezőben) megadhatja a streamelési adatkészlet végpontját, ha már hozott létre ilyet. Ha még nincs streamelési adatkészlete, válassza a jobb felső sarokban található plusz ikont ( + ), hogy megjelenjenek a streamelési adatkészletek létrehozásának lehetőségei.

Screenshot of the dashboard, showing how to input the endpoint of your streaming dataset with a pointer to the plus icon.

Amikor rákattint a + ikonra, két lehetőség jelenik meg:

Screenshot of the New streaming dataset choices, showing A P I and PubNub options.

A következő szakasz ezeket a lehetőségeket ismerteti, és részletesen bemutatja, hogyan lehet egy streamelési adatforrásból streamelési csempét vagy adatkészletet létrehozni, és ezeket utána jelentések készítésére használni.

Streamelési adatkészlet létrehozása az Önnek jobban tetsző lehetőséggel

Kétféleképpen hozhat létre a Power BI által felhasználható és megjeleníthető valós idejű streamelési adatcsatornákat:

  • Power BI REST API, amely egy valós idejű streamelési végpontot használ
  • PubNub

A következő szakasz ezeket veszi sorra.

A POWER BI REST API használata

Power BI REST API – A Power BI REST API legfrissebb fejlesztései azt a célt szolgálják, hogy megkönnyítsék a fejlesztők számára a valós idejű streamelést. Amikor az Új streamelési adatkészlet ablakban kiválasztja az API lehetőséget, akkor olyan bejegyzések jelennek meg, amelyek lehetővé teszik, hogy a Power BI csatlakozzon a végponthoz, és használja azt:

Screenshot of the New streaming dataset dialog, showing the Power B I REST A P I entries for connection.

Ha azt szeretné, hogy a Power BI tárolja is az streamben elküldött adatokat, engedélyezze az Előzményadatok elemzése lehetőséget, hogy felhasználhassa az összegyűjtött streamet jelentések vagy elemzések készítésére. További információkat is megtudhat az API-ról.

A stream sikeres létrehozása után egy REST API URL-végpontot kap, amelyet az alkalmazás meghívhat POST kérelmekkel, hogy leküldje az adatokat az Ön által létrehozott Power BI streamelési adatok adathalmazba.

A POST kérések küldésekor érdemes ellenőrizni, hogy a kérés törzse megfelel-e a Power BI felhasználói felületén megadott JSON-mintának. Például a JSON-objektumokat be kell burkolni egy tömbbe.

Figyelmeztetés

A Power BI szolgáltatás felhasználói felületén létrehozott streamelt adathalmazokhoz az adathalmaz tulajdonosa egy erőforráskulcsot tartalmazó URL-címet kap. Ez a kulcs Azure AD OAuth tulajdonosi jogkivonat nélkül jogosítja fel a kérőt arra, hogy adatokat küldjön az adathalmazba, ezért az ilyen típusú adathalmazokkal és módszerekkel végzett munka során tartsa szem előtt, hogy milyen következményekkel jár egy titkos kód használata az URL-címben.

A PubNub használata

A Power BI-ban a PubNub-streamelés integrációja lehetővé teszi meglévő kis késésű PubNub-streamjeinek használatát (vagy újak létrehozását). Válassza a PubNub, majd a Tovább lehetőséget. Ekkor az alábbi ablak jelenik meg:

Screenshot of the New streaming dataset dialog, showing the PubNub entries for connection.

Figyelmeztetés

A PubNub-csatornákat egy PubNub Access Manager-alapú hitelesítési kulcs (PAM-kulcs) védi. Ez a kulcsot az összes olyan felhasználó megkapja, aki hozzáfér az irányítópulthoz. További tudnivalók a PubNub hozzáférés-vezérlésről.

A PubNub-streamek gyakran nagy mennyiségű adattal szolgálnak, és az eredeti formájukban nem alkalmasak a tárolásra és az előzményadataik elemzésére. Ahhoz, hogy a Power BI elemezni tudja az előzményadatokat PubNub-adatok esetében, összesíteni kell a nyers PubNub-streamet, majd el kell küldeni a Power BI-ba. Ennek egyik módja az Azure Stream Analytics használata.

Példa valós idejű streamelés használatára a Power BI-ban

Itt egy egyszerű példa arra, hogy miképpen működik a valós idejű streamelés a Power BI-ban. Követheti Ön is ezt a mintát, hogy saját szemével láthassa, mennyire hasznos a valós idejű streamelés.

Ebben a mintában egy nyilvánosan elérhető PubNub-folyamot fogunk használni. A lépések a következők:

  1. Válasszon egy irányítópultot (vagy hozzon létre egy újat) a Power BI szolgáltatásban, válassza a Csempe hozzáadása>Egyedi streamelési adatok lehetőséget, majd kattintson a Tovább gombra.

    Screenshot of the dashboard, showing the Add tile with the Custom streaming data selection.

  2. Ha még nincs streamelési adatforrása, válassza az Adathalmazok kezelése hivatkozást (a Tovább gomb felett), majd válassza a + Streamelési adatok hozzáadása lehetőséget az ablak jobb felső sarkában. Válassza a PubNub lehetőséget, majd a Tovább gombot.

  3. Nevezze el az adatkészletet, illessze be a következő értékeket a megjelenő ablakba, majd kattintson a Tovább gombra:

    Előfizetői azonosító:sub-c-5f1b7c8e-fbee-11e3-aa40-02ee2ddab7fe

    Csatorna:pubnub-sensor-network

    Screenshot of the New streaming dataset dialog, showing how to create a Dataset name and entries in the Sub-key and Channel name fields.

  4. A következő ablakban válassza az automatikusan betöltődő alapértelmezéseket, majd a Létrehozás gombot.

    Screenshot of the New streaming dataset dialog, showing defaults for the Dataset name and Values from stream fields.

  5. A Power BI munkaterületén hozzon létre egy új irányítópultot, majd adjon hozzá egy csempét (ha ehhez segítségre van szüksége, nézze meg a fentebb látható lépéseket). Most már, ha a csempe létrehozásakor az Egyedi streamelési adatok lehetőséget választja, rendelkezésére áll egy streamelési adatkészlet. Haladjunk is tovább, és próbáljuk ki. Ha hozzáadja a number típusú mezőket vonaldiagramokhoz, és felvesz egyéb csempéket is, akkor lesz egy, az alábbihoz hasonló irányítópultja:

    Screenshot of the Environmental sensors dashboard, showing the results in real-time.

Próbálja ki, játsszon egy kicsit a mintaadatkészlettel. Majd hozzon létre egy saját adatkészletet, és streameljen vele élő adatokat a Power BI-ba.

Figyelemfelhívás

A színtelítettség már nem támogatott a valós idejű csempék esetében. Ha megpróbálja hozzáadni a telítettséget, hibaüzenet jelenik meg. A beállítást üresen kell hagyni, és a vizualizáció megfelelően fog működni.

Kérdések és válaszok

Itt elolvashatja a Power BI-ban történő valós idejű streameléssel kapcsolatos gyakori kérdéseket és a rájuk adott válaszokat.

Lehet szűrni a leküldéses adatkészleteket? És a streamelési adatkészleteket?

Sajnos a streamelési adatkészletek nem teszik lehetővé a szűrést. A leküldéses adatkészletekből létre tud hozni jelentéseket, szűrheti ezeket a jelentéseket, majd rögzítheti a szűrt vizualizációkat az irányítópulton. Ha viszont már rögzített egy vizualizációt az irányítópulton, akkor nem lehet módosítani a szűrőjét.

Az élő jelentés külön rögzíthető az irányítópulton, ebben az esetben módosíthatók a szűrők is. Az élő jelentések csempéi azonban nem frissülnek valós időben az adatok leküldésekor. Ehhez manuálisan kell frissíteni a vizualizációt a ... menü Az irányítópult csempéinek frissítése parancsával.

Amikor olyan leküldéses adatkészleteken alkalmaz szűrőket, amelyekben ezredmásodperces pontosságú DateTime mezők találhatók, akkor az egyezik operátor nem használható. Az olyan operátorok azonban, mint a nagyobbak (>) vagy kisebbek, mint (<) megfelelően működnek.

Hogyan tudom megnézni a legutóbbi értékeket egy leküldéses adatkészletben? És a streamelési adatkészletekben?

A streamelési adatkészletek a legutóbbi értékek megjelenítésére lettek kialakítva. A Kártya típusú streamelési vizualizációval könnyen megnézheti a legutóbbi numerikus értékeket. A kártyákon azonban sajnos nem használhatók DateTime és Text típusú adatok.

Leküldéses adathalmazokból létrehozhat vizualizációkat az elmúlt N idő szűrővel, ha a sémában időbélyeg is található.

Hogyan lehet modellezést végezni a valós idejű adatkészleteken, tekintettel az előző kérdésre adott válaszra?

Streamelési adatkészleteken nem lehetséges a modellezés, mert az adatok nincsenek maradandóan tárolva. A leküldéses adathalmazok esetében az adathalmaz-létrehozási REST API-val hozhat létre egy kapcsolatot és mértékeket tartalmazó adathalmazt, és/vagy a táblafrissítési REST API használatával mértékeket adhat hozzá egy meglévő táblához.

Hogyan tudom az összes értéket törölni egy leküldéses adatkészletből? És a streamelési adatkészletekből?

A leküldéses adatkészletek esetében használhatja a sorok törlése REST API-hívást. Jelenleg nem lehet adatokat törölni a streamelési adatkészletekből, bár az adatok egy óra elteltével maguktól törlődnek.

Beállítottam egy Azure Stream Analytics-kimenetet a Power BI felé, de nem látom, hogy megjelent volna a Power BI-ban. Mi okozza a hibát?

A következő ellenőrzőlista segít elhárítani a hibát:

  1. Indítsa újra az Azure Stream Analytics-feladatot (a streamelés általános elérhetővé tétele előtt létrehozott feladatokat újra kell indítani).
  2. Próbálja újrahitelesíteni Power BI–Azure Stream Analytics kapcsolatot
  3. Melyik munkaterületet adta meg az Azure Stream Analytics-kimenetben? Ugyanezt a munkaterületet nézi a Power BI szolgáltatásban?
  4. Az Azure Stream Analytics-lekérdezés kimenete egy explicit módon meghatározott Power BI-kimenet? (az INTO kulcsszó használatával)
  5. Halad át adat az Azure Stream Analytics-feladaton? Az adathalmaz csak akkor jön létre, amikor adatokat továbbítanak.
  6. Vannak figyelmeztetések vagy hibák az Azure Stream Analytics naplóiban?

Automatikus oldalfrissítés

Az automatikus oldalfrissítés a jelentésoldal szintjén működik, és lehetővé teszi Önnek, hogy beállítson egy frissítési időközt a vizualizációhoz, amely csak akkor aktív, amikor a lap használatban van. Az automatikus oldalfrissítés csak DirectQuery-adatforrások esetén érhető el. A minimális frissítési időköz attól függ, hogy a jelentés milyen típusú munkaterületen van közzétéve, valamint hogy a Premium-munkaterületekre vonatkozóan milyen kapacitásbeállításokat alkalmazott a rendszergazda.

Az automatikus oldalfrissítésről az automatikus oldalfrissítés című cikkben olvashat bővebben.

Következő lépések

A következő hivatkozások hasznos információkkal szolgálnak a Power BI-ban történő valós idejű streamelésről: