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.

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

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:

Screenshot of the New streaming semantic model choices, showing the API selection.

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.

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

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:

  1. Vælg Tilføj et felt i et eksisterende eller nyt dashboard.

  2. På siden Tilføj et felt skal du vælge Brugerdefinerede streamingdata og derefter vælge Næste.

    Screenshot of the Add a tile page, showing the Custom Streaming Data selection.

  3. 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.

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

  4. På siden Ny semantisk streamingmodel skal du vælge API, Azure Stream eller PubNub og derefter vælge Næste.

    Screenshot of the New streaming semantic model choices, showing API, Azure Stream, and PubNub options.

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 APIskæ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.

Screenshot of the New streaming semantic model dialog, showing the Power BI REST API entries for a connection.

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:

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

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.

  1. Vælg eller opret et nyt dashboard i Power BI-tjeneste. Øverst på skærmen skal du vælge Rediger>Tilføj et felt.

  2. På skærmen Tilføj et felt skal du vælge Brugerdefinerede streamingdata og derefter vælge Næste.

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

  3. På siden Tilføj et brugerdefineret streamingdatafelt skal du vælge Tilføj semantisk streamingmodel.

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

  4. På siden Ny semantisk streamingmodel skal du vælge PubNub og derefter vælge Næste.

  5. 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

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

  6. Behold de automatisk udfyldte værdier på det næste skærmbillede, og vælg Opret.

    Screenshot of the New streaming semantic model dialog, showing defaults for the Semantic model name and Values from stream fields.

  7. 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.

  8. Vælg Brugerdefinerede streamingdata, og vælg Næste.

  9. 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:

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

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:

  1. Genstart Azure Stream Analytics-jobbet.
  2. Prøv at godkende din Power BI-forbindelse igen i Azure Stream Analytics.
  3. Sørg for, at du kontrollerer det samme arbejdsområde i det Power BI-tjeneste, du har angivet for Azure Stream Analytics-outputtet.
  4. Sørg for, at Azure Stream Analytics-forespørgslen eksplicit sender output til Power BI-outputtet ved hjælp af nøgleordet INTO .
  5. Find ud af, om Azure Stream Analytics-jobbet har data, der flyder gennem det. Den semantiske model oprettes kun, når der sendes data.
  6. 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.