<img src="https://track.adform.net/Serving/TrackPoint/?pm=268420" width="1" height="1" alt="">

Real time data i Microsoft Power BI

9 min. læsetid
17. juni 2020 Skrevet af: Kasper Kirkegaard Del med en ven     

I disse Corona tider går det stærkt. For nogle forretninger desværre stærkt i den forkerte retning (tøjbranchen m.v.) og for andre stærkt i den rigtige retning (online-butikker der sælger fitness udstyr). For begge typer virksomheder er det dog vigtigere end nogensinde at kunne følge med i så opdaterede data som muligt, gerne i det sagnomspundne "real time".  

I dette blogindlæg vil jeg vise nogle af de nye features, som giver mulighed for at opdatere Power BI i real time samt kort komme med nogle tips til brug af eksisterende funktionalitet i Power BI. Men først en hurtig disclaimer: dette blogindlæg vil ikke løse alle dine real time-problemer. Du får nemlig aldrig mere real time end din langsomste komponent i dit BI-setup.

Hvis du fx har en klassisk finansiel BI-løsning, hvor alt data fra dit ERP-system hver nat hentes over i et SQL-data warehouse og processeres i en kube, er der et stykke vej, før nedenstående bliver relevant for dig… Dog kan det måske give dig blod på tanden til at få toptunet dit BI-setup, så det er muligt i fremtiden, og her vil jeg selvfølgelig gerne slå et slag for, at du kontakter mig eller en kollega ved Inspari for at hjælpe med det.

DirectQuery med automatisk refresh

En feature i Power BI, som lige er kommet ud af preview (juni 2020), er automatisk refresh af hele rapportsiden, så du kan vise dine data i real time, fx på en TV-skærm på kontoret. Kort fortalt vælger du i Power BI Desktop, at siden skal hente nye data automatisk og efterfølgende har du to valg. Enten kan du vælge et fast tidsinterval, hvor Power BI skal opdatere datasættet eller også gøre brug af ”change detection”, altså hvor Power BI kun henter nye data, hvis Power BI opfanger en ændring i data.

picture1_real_time_data_blogLad os starte med at kigge på den første mulighed, hvor du definerer, hvor ofte Power BI skal hente nye data. Det kan sættes helt ned til hvert sekund, hvormed det må kunne håndtere de flestes behov for real time data.

Vær opmærksom på, at denne nye feature kun fungerer med DirectQuery, altså hvor Power BI ikke importerer data, men går direkte ned på kilden. Før du sætter en opdateringsfrekvens på hvert sekund, er det vigtigt at sikre, at din kilde kan håndtere forespørgsler så ofte.

picture2_real_time_data_blog

Den anden metode er ”change detection”, som umiddelbart er mere smart, da Power BI kun opdaterer data, når der sker en ændring på et measure, som du bestemmer. Du indstiller i samme ombæring, hvor ofte Power BI skal tjekke for ændringer i dette measure, som kan være helt ned til en gang i sekundet.

Da der kun kan sættes et enkelt measure, som Power BI skal overvåge, før hele rapportsidens data skal opdateres, er det vigtigt, at dette measure udarbejdes på en smart måde.

picture3_real_time_data_blogHvis det (helt forståeligt) bare kribler i dine fingre for at komme i gang med disse nye features, kommer der lige begrænsningerne, som måske rammer dig: En vigtig forudsætning er, at det kræver enten en Premium eller Embedded licens for at kunne bruge disse features fornuftigt. Du kan selvfølgelig teste funktionaliteten fuldt ud i Power BI Desktop, hvormed du kan vise mulighederne frem for din chef, som skal betale for en PowerBI-licens, der kan håndtere det.  

Hvis du allerede har en Premium eller Embedded licens, skal du have fat i din Power BI-admin, hvis du ikke selv er det. Inde på admin-portalen på Power BI-websitet skal automatisk refresh aktiveres, og samtidig kan der sættes en begrænsning for, hvor ofte du må opdatere data. Dermed kan du lave en rapport, som du sætter til at opdatere hvert sekund, men hvis admin har sat en begrænsning på 20 sekunder, er det kun hvert 20. sekund, din rapport vil opdatere.
 

På samme måde skal ”change detection” aktiveres inde på admin-portalen, og her kan der også sættes en minimumstid imellem, at Power BI tjekker for ændringer i dit measure, som du tidligere har defineret.

3 spændende alternativer

Den nye feature med automatisk refresh via DirectQuery, vil jeg mene, er et rigtig godt bud fremadrettet, når der skal laves Power BI-rapporter med real time data. Dog kan der være grunde til, at det ikke er noget for dig, så herunder er der 3 alternativer med en kort beskrivelse:

  1. Import af data med opdatering via REST API: Hvis du har et BI-setup, hvor du som et sidste step kan trigge en Power BI-opdatering, kan det give god mening at kigge på PowerBI´s REST API. Med en Pro licens kan du opdatere 8 gange i døgnet, hvilket er standard i forhold til bare at lave en skemalagt opdateringsfrekvens. Den store fordel kommer dog med en Premium eller Embedded licens, hvor du normalt via en skemalagt opdatering kan opdatere 48 gange dagligt. Her har du via API´et et ubegrænset antal opdateringer, dog under forudsætning af, at din købte kapacitet kan følge med.
  2. Streaming/push dataset: Man kommer ikke uden om muligheden for streaming/push datasets i Power BI, når der snakkes realtime data. Den mest almindelige anvendelse er, hvor der laves et API end-point i Power BI, som du pusher data til fra din egen BI back-end løsning. Fordelen er blandt andet, at det ikke kræver en Premium eller Embedded licens. Det er dog stadig en umoden feature, som ikke får den nødvendige opmærksomhed, måske netop på grund af, at det er gratis at bruge. Manglerne er blandt andet, at visualiseringer skal pinnes til et dashboard for at virke i real time, og mulighederne i et Power BI dashboard er desværre ikke de bedste. 
  3. LiveConnect til kube: Hvor DirectQuery kan virke tungt for en slutbruger af en Power BI-rapport, og import af data til Power BI bl.a. kan udfordres af antallet af opdateringer, er en LiveConnect til en kube (Analysis Services) en fin mulighed. Med fokus på realtime data i dette blogindlæg, kræver det dog, at din processering af kuben ikke bliver en flaskehals.

Hvad skal du så vælge?

It depends, som det gode konsulentsvar altid er! For det første: Hvilket brugsscenarie prøver du at ramme? Er det planen, at dine real time data skal placeres i en Power BI-rapport på TV-skærmen bagerst i kontoret, eller er tanken, at der er nogle slutbrugere, som skal interagere med din rapport? For det andet: Hvilke begrænsninger du har i forhold til din licens? Har du en Premium eller Embedded licens, er det relativt nemt at få en god løsning, uanset dit brugsscenarie, mens du med en Pro-licens må tænke mere kreativt.

Jeg håber, jeg har vakt din interesse i forhold til at prøve de nye features af i Power BI for at udstille dine real time data. Hvis du har spørgsmål eller brug for hjælp til, så står jeg eller en kollega i Inspari altid klar til at hjælpe. Mit navn er Kasper Kirkegaard, og du kan kontakte mig på kaki@inspari.dk.

Vil du vide mere om Microsoft Power Platform & Power BI?