Streaming i realtid i Power BI
Power BI med streaming i realtid hjælper dig med at streame data og opdatere dashboards i realtid. Alle visualiseringer eller dashboards, der er oprettet i Power BI, kan vise og opdatere data og visualiseringer i realtid. Enhederne og kilderne til streamingdata kan være fabrikssensorer, sociale mediekilder, forbrugsdata for tjenester eller mange andre tidsfølsomme dataindsamlere eller sendere.
I denne artikel kan du se, hvordan du konfigurerer og bruger semantiske streamingmodeller i realtid i Power BI.
Typer af semantiske modeller i realtid
For det første er det vigtigt at forstå de typer semantiske modeller i realtid, der er designet til at blive vist i felter og dashboards, og hvordan disse semantiske modeller adskiller sig.
Følgende tre typer semantiske modeller i realtid er designet til visning på dashboards i realtid:
- Push semantisk model
- Streaming af semantisk model
- PubNub-streaming semantisk model
I dette afsnit forklares det, hvordan disse semantiske modeller adskiller sig fra hinanden. I de senere afsnit beskrives det, hvordan du overfører data til hver af disse semantiske modeller.
Push semantisk model
Med en semantisk pushmodel pushes data ind i Power BI-tjeneste. Når den semantiske model oprettes, opretter Power BI-tjeneste automatisk en ny database i tjenesten for at gemme dataene.
Da der er en underliggende database, der gemmer dataene, når de modtages, kan du oprette rapporter med dataene. Disse rapporter og deres visualiseringer er ligesom alle andre rapportvisualiseringer. Du kan bruge alle Funktioner til oprettelse af rapporter i Power BI, f.eks. Power BI-visualiseringer, databeskeder og fastgjorte dashboardfelter.
Når du har oprettet en rapport ved hjælp af den semantiske pushmodel, kan du fastgøre en hvilken som helst rapportvisualisering til et dashboard. På dette dashboard opdateres visualiseringer i realtid, når dataene opdateres. I Power BI-tjeneste udløser dashboardet en feltopdatering, hver gang der modtages nye data.
Der er to overvejelser, du skal være opmærksom på om fastgjorte felter fra en semantisk pushmodel:
- Fastgørelse af en hel rapport ved hjælp af indstillingen Fastgør live medfører ikke, at dataene opdateres automatisk.
- Når du fastgør en visualisering til et dashboard, kan du bruge Q&A til at stille spørgsmål om den semantiske pushmodel på et naturligt sprog. Når du har foretaget en Q&A-forespørgsel , kan du fastgøre den resulterende visualisering tilbage til dashboardet, og visualiseringen opdateres også i realtid.
Streaming af semantisk model
En semantisk streamingmodel overfører også data til Power BI-tjeneste med en vigtig forskel: Power BI gemmer kun dataene i en midlertidig cache, som hurtigt udløber. Den midlertidige cache bruges kun til at vise visualiseringer, der har en midlertidig historik, f.eks. et kurvediagram, der har et tidsvindue på én time.
En semantisk streamingmodel har ingen underliggende database, så du kan ikke oprette rapportvisualiseringer ved hjælp af de data, der strømmer ind fra streamen. Derfor kan du ikke bruge rapportfunktioner, f.eks. filtrering, Power BI-visualiseringer og andre rapportfunktioner.
Den eneste måde at visualisere en semantisk streamingmodel på er ved at tilføje et felt og bruge den semantiske streamingmodel som en brugerdefineret streamingdatakilde . De brugerdefinerede streamingfelter, der er baseret på en semantisk streamingmodel, er optimeret til hurtigt at vise data i realtid. Der er lidt ventetid mellem at overføre dataene til Power BI-tjeneste og opdatere visualiseringen, fordi det ikke er nødvendigt, at dataene indtastes i eller læses fra en database.
I praksis er det bedst at bruge semantiske streamingmodeller og deres tilhørende streamingvisualiseringer i situationer, hvor det er vigtigt at minimere ventetiden mellem push og visualisering af data. Dataene skal pushes i et format, der kan visualiseres, som de er, uden flere sammenlægninger. Eksempler på data, der er klar, som de er, omfatter temperaturer og forudberegnede gennemsnit.
PubNub-streaming semantisk model
Med en semantisk PubNub-streamingmodel bruger Power BI-webklienten PubNub SDK til at læse en eksisterende PubNub-datastream. Power BI-tjeneste gemmer ingen data. Da webklienten foretager dette opkald direkte, skal du angive trafik til PubNub som tilladt, hvis du kun tillader godkendt udgående trafik fra dit netværk. Du kan finde instruktioner i supportartikel om godkendelse af udgående trafik for PubNub.
Som med den semantiske streamingmodel er der ingen underliggende Power BI-database med PubNub-streaming-semantisk model. Du kan ikke oprette rapportvisualiseringer i forhold til de data, der kommer ind, og du kan ikke bruge rapportfunktioner, f.eks. filtrering eller Power BI-visualiseringer. Du kan kun visualisere en Semantisk PubNub-streamingmodel ved at føje et felt til dashboardet og konfigurere en PubNub-datastream som kilden.
Felter, der er baseret på en semantisk PubNub-streamingmodel, er optimeret til hurtigt at vise data i realtid. Da Power BI er direkte forbundet til PubNub-datastrømmen, er der lidt ventetid mellem at pushe dataene til Power BI-tjeneste og opdatere visualiseringen.
Matrix for streaming af semantisk model
I følgende tabel beskrives de tre typer semantiske modeller til streaming i realtid og viser deres egenskaber og begrænsninger.
Egenskab | Skub | Streaming | PubNub |
---|---|---|---|
Dashboardfelter opdateres i realtid, når data pushes ind | Ja. For visualiseringer, der er bygget via rapporter og derefter fastgjort til dashboardet. |
Ja. For brugerdefinerede streamingfelter, der er føjet direkte til dashboardet. |
Ja. For brugerdefinerede streamingfelter, der er føjet direkte til dashboardet. |
Dashboardfelter opdateres med jævne animationer | Nej. | Ja. | Ja. |
Data, der er gemt permanent i Power BI til historikanalyse | Ja. | Nej. Data gemmes midlertidigt i én time for at gengive visualiseringer. |
Nej. |
Opret Power BI-rapporter oven på dataene | Ja. | Nej. | Nej. |
Maksimal dataindtagelseshastighed | 1 anmodninger 16 MB/anmodning |
5 anmodninger 15 KB/anmodning |
NIELSEN Data pushes ikke til Power BI. |
Grænser for dataoverførselshastighed | 1 mio. rækker pr. time | Ingen. | NIELSEN Data pushes ikke til Power BI. |
Overfør data til semantiske modeller
I dette afsnit beskrives det, hvordan du opretter og overfører data til de tre primære typer semantiske modeller i realtid, som du kan bruge i realtidsstreaming.
Du kan overføre data til en semantisk model ved hjælp af følgende metoder:
- REST API'erne til Power BI
- Brugergrænsefladen for semantisk power BI-streamingmodel
- Azure Stream Analytics
Brug REST API'er til Power BI til at pushe data
Du kan bruge REST API'er til Power BI til at oprette og sende data for at pushe semantiske modeller og til at streame semantiske modeller. Når du opretter en semantisk model ved hjælp af REST API'er til Power BI, angiver flaget defaultMode
, om den semantiske model er push eller streaming.
Hvis der ikke er angivet et defaultMode
flag, er den semantiske model som standard en semantisk pushmodel. Hvis værdien defaultMode
er angivet til pushStreaming
, er den semantiske model både en push- og streaming-semantisk model og giver fordelene ved begge semantiske modeltyper.
Bemærk
Når du bruger semantiske modeller, hvor flaget defaultMode
er angivet til pushStreaming
, hvis en anmodning overskrider størrelsesbegrænsningen på 15 KB for en semantisk streamingmodel, men er mindre end størrelsesbegrænsningen på 16 MB for en semantisk pushmodel, lykkes anmodningen, og dataopdateringerne i den semantiske pushmodel. Alle streamingfelter mislykkes dog midlertidigt.
Når der er oprettet en semantisk model, kan du bruge POSTRows REST API'er til at pushe data. Alle anmodninger om REST API'er sikres ved hjælp af Microsoft Entra ID OAuth.
Brug brugergrænsefladen i den semantiske streamingmodel til at pushe data
I Power BI-tjeneste kan du oprette en semantisk model ved at vælge API-tilgangen som vist på følgende skærmbillede:
Når du opretter den nye semantiske streamingmodel, kan du aktivere analyse af historiske data som vist på følgende skærmbillede. Dette valg har en betydelig indvirkning.
Når analyse af historiske data er deaktiveret, som det er som standard, opretter du en semantisk streamingmodel, som beskrevet tidligere. Når analyse af historiske data er aktiveret, bliver den semantiske model, du opretter, både en semantisk streamingmodel og en semantisk pushmodel. Denne indstilling svarer til at bruge REST API'er til Power BI til at oprette en semantisk model med den angivet defaultMode
til pushStreaming
, som beskrevet tidligere.
Bemærk
Streaming af semantiske modeller, der er oprettet ved hjælp af Power BI-tjeneste brugergrænseflade, kræver ikke Microsoft Entra-godkendelse. I sådanne semantiske modeller modtager ejeren af den semantiske model en URL-adresse med en rowkey, som giver anmoderen tilladelse til at pushe data til den semantiske model uden at bruge et Microsoft Entra ID OAuth-ihændehavertoken. Microsoft Entra ID-tilgangen fungerer dog stadig til at overføre data til den semantiske model.
Brug Azure Stream Analytics til at pushe data
Du kan tilføje Power BI som et output i Azure Stream Analytics og derefter visualisere disse datastrømme i Power BI-tjeneste i realtid. I dette afsnit beskrives de tekniske detaljer i denne proces.
Azure Stream Analytics bruger REST API'er til Power BI til at oprette outputdatastrømmen til Power BI med defaultMode
angivet til pushStreaming
. Den resulterende semantiske model kan bruge både push og streaming. Når du opretter den semantiske model, angiver Azure Stream Analytics flaget retentionPolicy
til basicFIFO
. Med denne indstilling gemmer den database, der understøtter push-semantisk model, 200.000 rækker og gemmer rækker på fifo-vis (first-in first-out).
Vigtigt
Hvis din Azure Stream Analytics-forespørgsel resulterer i meget hurtigt output til Power BI, f.eks. én eller to gange pr. sekund, begynder Azure Stream Analytics at batche outputtet i en enkelt anmodning. Denne batching kan medføre, at anmodningsstørrelsen overskrider grænsen for streamingfeltet, og streamingfelterne kan muligvis ikke gengives. I dette tilfælde er den bedste praksis at reducere dataoutputtet til Power BI. I stedet for en maksimumværdi hvert sekund kan du f.eks. anmode om en maksimumværdi over 10 sekunder.
Konfigurer din semantiske streamingmodel i realtid i Power BI
Hvis du vil i gang med streaming i realtid, skal du vælge en af følgende måder at forbruge streamingdata på i Power BI:
- Felter med visualiseringer fra streamingdata
- Semantiske modeller , der er oprettet ud fra streamingdata, som bevares i Power BI
For begge muligheder skal du konfigurere streamingdata i Power BI. Sådan får du din semantiske streamingmodel i realtid til at fungere i Power BI:
Vælg Tilføj et felt i et eksisterende eller nyt dashboard.
På siden Tilføj et felt skal du vælge Brugerdefinerede streamingdata og derefter vælge Næste.
På siden Tilføj et brugerdefineret streamingdatafelt kan du vælge en eksisterende semantisk model eller vælge Administrer semantiske modeller for at importere din semantiske streamingmodel, hvis du allerede har oprettet en. Hvis du endnu ikke har konfigureret streamingdata, skal du vælge Tilføj semantisk streamingmodel for at komme i gang.
På siden Ny semantisk streamingmodel skal du vælge API, Azure Stream eller PubNub og derefter vælge Næste.
Opret en semantisk streamingmodel
Der er tre måder at oprette et streamingdatafeed i realtid, som Power BI kan forbruge og visualisere:
- POWER BI REST API ved hjælp af et streamingslutpunkt i realtid
- Azure Stream
- PubNub
I dette afsnit beskrives indstillingerne for REST API og PubNub i Power BI, og det forklares, hvordan du opretter et streamingfelt eller en semantisk model fra streamingdatakilden. Du kan derefter bruge den semantiske model til at oprette rapporter. Du kan få flere oplysninger om indstillingen Azure Stream i Power BI-output fra Azure Stream Analytics.
Brug Power BI REST-API'en
Power BI REST API gør streaming i realtid nemmere for udviklere. Når du har valgt API på skærmen Ny semantisk streamingmodel og valgt Næste, kan du angive poster, der gør det muligt for Power BI at oprette forbindelse til og bruge dit slutpunkt. Du kan få flere oplysninger om API'en under Brug REST API'er til Power BI.
Hvis power BI skal gemme de data, som denne datastream sender, så du kan rapportere og analysere de indsamlede data, skal du aktivere Analyse af historiske data.
Når du har oprettet din datastream, får du et REST API URL-slutpunkt. Dit program kan kalde slutpunktet ved hjælp POST
af anmodninger om at overføre dine streamingdata til den semantiske Power BI-model. I dine POST
anmodninger skal du sikre, at anmodningens brødtekst stemmer overens med det eksempel på JSON, som Power BI-brugergrænsefladen har angivet. Ombryd f.eks. dine JSON-objekter i en matrix.
Advarsel
I forbindelse med streaming af semantiske modeller, som du opretter i brugergrænsefladen Power BI-tjeneste, får ejeren af den semantiske model en URL-adresse, der indeholder en ressourcenøgle. Denne nøgle giver anmoderen tilladelse til at overføre data til den semantiske model uden at bruge et OAuth-ihændehavertoken til Microsoft Entra ID. Vær opmærksom på konsekvenserne af at have en hemmelig nøgle i URL-adressen, når du arbejder med denne type semantisk model og metode.
Brug PubNub
Integrationen af PubNub-streaming med Power BI hjælper dig med at oprette og bruge dine PubNub-datastreams med lav ventetid i Power BI. Når du vælger PubNub på skærmen Ny semantisk streamingmodel og vælger Næste, får du vist følgende skærm:
Vigtigt
Du kan sikre PubNub-kanaler ved hjælp af en Pam-godkendelsesnøgle (PubNub Access Manager). Denne nøgle deles med alle brugere, der har adgang til dashboardet. Du kan få flere oplysninger om PubNub-adgangskontrol under Administrer adgang.
PubNub-datastrømme er ofte store og er ikke altid egnet til lagring og historiske analyser i deres oprindelige form. Hvis du vil bruge Power BI til historiske analyser af PubNub-data, skal du aggregere den rå PubNub-stream og sende den til Power BI, f.eks. ved hjælp af Azure Stream Analytics.
Eksempel på streaming i realtid i Power BI
Her er et eksempel på, hvordan streaming i realtid i Power BI fungerer. Dette eksempel bruger en offentligt tilgængelig stream fra PubNub. Følg med i eksemplet for at se værdien af streaming i realtid for dig selv.
Vælg eller opret et nyt dashboard i Power BI-tjeneste. Øverst på skærmen skal du vælge Rediger>Tilføj et felt.
På skærmen Tilføj et felt skal du vælge Brugerdefinerede streamingdata og derefter vælge Næste.
På siden Tilføj et brugerdefineret streamingdatafelt skal du vælge Tilføj semantisk streamingmodel.
På siden Ny semantisk streamingmodel skal du vælge PubNub og derefter vælge Næste.
På det næste skærmbillede skal du angive et semantisk modelnavn, angive følgende værdier i de næste to felter og derefter vælge Næste.
- Undernøgle:sub-c-99084bc5-1844-4e1c-82ca-a01b18166ca8
- Kanalnavn:pubnub-sensor-netværk
Behold de automatisk udfyldte værdier på det næste skærmbillede, og vælg Opret.
Tilbage i dit Power BI-arbejdsområde skal du oprette et nyt dashboard og vælge Rediger>Tilføj et felt øverst på skærmen.
Vælg Brugerdefinerede streamingdata, og vælg Næste.
På siden Tilføj et brugerdefineret streamingdatafelt skal du vælge din nye semantiske streamingmodel og derefter vælge Næste.
Leg lidt med den semantiske eksempelmodel. Ved at føje værdifelter til kurvediagrammer og tilføje andre felter kan du få et dashboard i realtid, der ligner følgende skærmbillede:
Gå videre for at oprette dine egne semantiske modeller og streame livedata til Power BI.
Spørgsmål og svar
Her er nogle almindelige spørgsmål og svar om streaming i realtid i Power BI.
Kan du bruge filtre på semantiske push- eller streamingmodeller?
Streaming af semantiske modeller understøtter ikke filtrering. For semantiske pushmodeller kan du oprette en rapport, filtrere rapporten og derefter fastgøre de filtrerede visualiseringer til et dashboard. Der er dog ingen måde at ændre filteret på visualiseringen på, når det er på dashboardet.
Du kan fastgøre det dynamiske rapportfelt til dashboardet separat, og derefter kan du ændre filtrene. Dynamiske rapportfelter opdateres dog ikke i realtid, når data pushes ind. Du skal opdatere visualiseringen manuelt ved at vælge ikonet Opdater øverst til højre på dashboardsiden.
Når du anvender filtre på push af semantiske modeller, der har DateTime
felter med præcision i millisekunder, understøttes ækvivalensoperatorer ikke. Operatorer som f.eks. større end > eller mindre end < fungerer korrekt.
Hvordan kan du se den seneste værdi for semantiske push- eller streamingmodeller?
Semantiske streamingmodeller er designet til at vise de nyeste data. Du kan bruge visualiseringstypen Kortstreaming til nemt at se de nyeste numeriske værdier. Kortvisualiseringer understøtter DateTime
ikke eller Text
datatyper.
Hvis du har et tidsstempel i skemaet for semantiske pushmodeller, kan du prøve at oprette en rapportvisualisering med last N
filteret.
Hvordan kan du modellere semantiske modeller i realtid?
Modellering er ikke muligt i en semantisk streamingmodel, fordi dataene ikke gemmes permanent. For en semantisk pushmodel kan du bruge REST API'en til oprettelse af semantisk model til at oprette en semantisk model med relationer og målinger og bruge REST API'er til opdateringstabellen til at føje målinger til eksisterende tabeller.
Hvordan kan du rydde alle værdierne i en semantisk push- eller streamingmodel?
I en semantisk pushmodel kan du bruge REST API-kaldet til sletning af rækker. Det er ikke mulig at rydde data fra en semantisk streamingmodel, selvom dataene rydder sig selv efter en time.
Hvis du konfigurerer et Azure Stream Analytics-output til Power BI, men du ikke kan se det i Power BI, hvad er der så galt?
Udfør disse trin for at foretage fejlfinding af problemet:
- Genstart Azure Stream Analytics-jobbet.
- Prøv at godkende din Power BI-forbindelse igen i Azure Stream Analytics.
- Sørg for, at du kontrollerer det samme arbejdsområde i det Power BI-tjeneste, du har angivet for Azure Stream Analytics-outputtet.
- Sørg for, at Azure Stream Analytics-forespørgslen eksplicit sender output til Power BI-outputtet ved hjælp af nøgleordet
INTO
. - Find ud af, om Azure Stream Analytics-jobbet har data, der flyder gennem det. Den semantiske model oprettes kun, når der sendes data.
- Se i Azure Stream Analytics-loggene for at se, om der er nogen advarsler eller fejl.
Automatisk sideopdatering
Du kan bruge automatisk sideopdatering på rapportsideniveau til at angive et opdateringsinterval for visualiseringer, der kun er aktive, når siden forbruges. Automatisk sideopdatering er kun tilgængelig for DirectQuery-datakilder. Det mindste opdateringsinterval afhænger af den type arbejdsområde, hvor rapporten er publiceret, og indstillinger for kapacitetsadministrator for Premium-arbejdsområder.
Du kan få flere oplysninger om automatisk sideopdatering under Automatisk sideopdatering i Power BI.