Redigera

Dela via


Tillbakaskrivning av Power BI-data med Power Apps och Power Automate

Power BI
Power Apps
Power Automate
Microsoft Power Platform

Den här lösningen implementerar en Power Apps-arbetsyteapp via det interna visuella Power Apps-objektet i Power BI. Power Automate tillhandahåller bakgrundsautomatisering för massbearbetning och uppdatering.

Arkitektur

Diagram that shows an architecture for Power BI data write-back.

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

Kärnkomponenterna i den här lösningen omfattar möjligheten att skicka förfiltrerade data från Power BI till en Power Apps- och/eller Power Automate-tratt för uppdateringar i en stödjande serverdel. Det är viktigt att uppdatera Power BI-datamängden (eller dataflödet) för att säkerställa att uppdateringar visas för alla användare.

Distribution

(Mer information finns i Distribuera det här scenariot senare i den här artikeln.)

A. Distribuera Dataverse och en modelldriven stödapp med relevanta anpassade tabeller.

B. Importera alla backend-tabeller och vyer till en Power BI-datauppsättning (PBIX).

C. Initiera integreringen mellan Power BI och Power Apps via Power Apps-visualiseringen i skrivbordsprogrammet.

D. Använd Power Apps för att skapa en arbetsyteapp för att ge möjlighet att interagera med och uppdatera alla nödvändiga data.

Processflöde

  1. Samla in data. Korsfiltrera en vald rad eller uppsättning data genom att välja en del av en visualisering i en Power BI-rapport. Den här interaktionen skickar nödvändiga underliggande data från Power BI-rapportgränssnittet till den inbäddade arbetsyteappen.
  2. Uppdatera data eller infoga dem i Dataverse med hjälp av användargränssnittet för arbetsyteappen. Du kan göra det genom att använda bundna kontroller som formulär och gallerier som är inbyggda i Power Apps och som är direkt kopplade till serverdelsdata. Du kan också implementera mer anpassade funktioner med hjälp av obundna kontroller. Dessa kontroller kräver ytterligare Power Fx-kod. För scenarier med enkel uppdatering kan du koda appen för att direkt checka in data till serverdelen via funktionerna SubmitForm, Patch och UpdateIf . För massuppdateringsscenarier kan du upprätta en samling (en virtuell tabell) med hjälp av funktionen Collect . Du kan sedan skicka samlingen för att bearbeta alla datauppdateringar samtidigt. Se Power App-användargränssnittet för skärmbilder av arbetsyteappen.
  3. Skicka uppdateringar till källan. Ett Power Automate-flöde ger bakgrundsautomation som krävs i scenariot. För scenarier med en enda uppdatering där endast en rad från den valda tabellen uppdateras körs ett enkelt flöde för att uppdatera PBIX-datauppsättningen. Detta säkerställer att uppdaterade data återspeglas i Dataverse-serverdelen och i rapporteringslagret. För massuppdateringsscenarier körs ett mer komplext flöde. Den använder en JSON-samling kapslade objekt som skickas från Power Apps-samlingen som beskrivs i föregående steg. Flödet itererar sedan genom varje kapslat objekt och uppdaterar data individuellt i Dataverse efter behov. När uppdateringssteget är klart uppdaterar flödet PBIX. Om Power BI-rapporten använder DirectQuery behövs inte de automatiserade steg som är associerade med uppdatering av PBIX.
  4. Visualisera uppdateringar. Alla data uppdateras och uppdateras. Slutanvändaren uppdaterar webbläsarfönstret för att se uppdateringen.

Komponenter

  • Dataverse. En serverdelsdatabaslösning som du kan använda för att lagra data i en mycket säker, anpassningsbar och skalbar miljö. Den här miljön ansluter sömlöst till Dynamics 365, Azure, Visual Studio och Power Query. Dataverse ger effektiv databehandling och en delad datamodell med öppen källkod som ger semantisk konsekvens.
  • Power BI. En samling programvarutjänster, appar och anslutningsappar som fungerar tillsammans för att omvandla dina orelaterade datakällor till sammanhängande, visuellt uppslukande, interaktiva insikter.
  • Power Apps. En uppsättning appar, tjänster och anslutningsappar som alla är tillgängliga på en omfattande dataplattform. Du kan använda den här tjänsten för att snabbt skapa program för att uppfylla anpassade affärsbehov. I den här lösningen används Power Apps för datauppdateringar och infogningar i ett intuitivt användargränssnitt. Den fungerar också som en utlösare för automatisering.
  • Power Automate. En tjänst som du kan använda för att skapa automatiserade arbetsflöden mellan en mängd olika anslutna appar och externa tjänster. Du kan konfigurera den för att överföra data, skicka meddelanden, samla in artefakter med mera. I den här lösningen används Power Automate för massbearbetning av uppdaterade data och för datauppdatering i PBIX- och/eller Dataflödeslagret för att skicka uppdaterade data tillbaka till en Power BI-rapport.

Alternativ

  • Alternativ till Dataverse innehåller följande lösningar:
  • Du kan använda Power Query-dataflöden separat eller tillsammans med Power BI-datauppsättningar för den här lösningen, beroende på skala och effektivitet för data i din miljö. Om du använder dataflöden i din lösning måste du hantera Ditt Power Automate-tillägg för att uppdatera varje dataflöde eller datauppsättning i enlighet med detta.
  • Du kan skapa anpassade program med hjälp av JavaScript, HTML, C#eller andra språk som kan bäddas in i en Power BI-rapport för att uppdatera valda data. Dessa appar måste dock implementeras på ett annat sätt i Power BI-rapportskiktet eftersom det inte finns någon intern visualisering som det finns för Power Apps. Om du implementerar skalbarhet för dessa appar måste du övervaka det. Information om hur du bäst implementerar anpassade komponenter i Power BI finns i Power BI Developer Center.
  • Du kan också använda det visuella Power Automate-objektet för Power BI för tillbakaskrivningsscenarier. Det här visuella objektet är optimerat för hantering av stora datamängder och Power Apps hanterar delegering. Du kan använda visuella Power Automate- och Power Apps-objekt tillsammans för att ge skalbar effektivitet. Om du använder det visuella Power Automate-objektet sker datauppdatering i bakgrunden utan att ett användargränssnitt visas.

Information om scenario

Den här lösningen för funktioner för tillbakaskrivning av data i Power BI är ett interaktivt och effektivt sätt att ändra data direkt från Power BI. Power BI har för närvarande ingen intern lösning som du kan använda för infogade eller massuppdateringar av data när du interagerar med en rapport eller instrumentpanel. Om du vill skicka ändringar till data måste du göra uppdateringar direkt i dina datalager och sedan, om du inte använder DirectQuery, uppdatera en datauppsättning för att slutföra processflödet. Den här processen kan vara ineffektiv och kan orsaka problem för användare som inte har åtkomst till en specifik serverdel eller underliggande data.

Potentiella användningsfall

Den här arkitekturen är mycket iterativ. Du kan använda den med flera olika serverdelsdatalager och anpassa den till olika användningsfall. Praktiska användningsområden för den här arkitekturen är:

  • Infogad redigering. Lösningen kan användas för data som behöver uppdateras i farten utan etablerad åtkomst till en serverdelsdatabas.
  • Arbetsflöden för godkännande. Genom att utöka funktionerna i Power BI med Power Apps och Power Automate kan slutanvändarna samla in data som kräver granskning direkt från en instrumentpanel och skicka dem till efterföljande godkännare.
  • Datadrivna aviseringar. Lösningen kan ge anpassning till automatiserade meddelanden om specifika insikter via överföring av poster eller överföring av datapaket till ett Power Automate-flöde.

Användargränssnitt för Power App

Följande skärmbilder illustrerar processen för att skicka data från Power BI till den underliggande databasen.

Det här är startskärmen för arbetsyteappen:

Screenshot that shows the home screen for the canvas app.

Den här skärmbilden visar processen för en enskild uppdatering:

Screenshot that shows the process for a single update.

Den här skärmbilden visar processen för en massuppdatering:

Screenshot that shows the process for a bulk update.

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, en uppsättning vägledande grundsatser som du kan använda för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Skalbarhet

För att korrekt upprätta integreringen mellan Power BI och arbetsyteappen för tillbakaskrivningsstöd måste du konfigurera den genom att skapa arbetsyteappen direkt från Power Apps-visualiseringen i Power BI-rapporten. Om den här integreringen inte är korrekt konfigurerad finns det inget sätt att skicka korsfiltrerade data från Power BI-rapportlagret till Power Apps-användargränssnittet.

Du måste åtgärda delegering när du överväger skalbarhet. Delegering är ett begrepp som är unikt för Power Apps (arbetsyteappar) som begränsar databehandlingens omfattning genom molnet medan en apps logik körs. Arbetsyteappar som implementeras i den här lösningen måste etableras korrekt för att hantera stora uppsättningar data som använder loopar eller komplexa filterinstruktioner för att säkerställa att alla data täcks när du kör en uppdatering av serverdelsdatabasen och sedan Power BI-datauppsättningen. Du kan använda Power Automate i det här scenariot för att öka effektiviteten när du hanterar storskaliga massuppdateringar på mer än 2 000 rader.

Tillgänglighet

Alla komponenter som beskrivs i den här arkitekturen är hanterade tjänster som automatiskt skalas beroende på regional tillgänglighet. För närvarande är Power Apps tillgängligt i sex kärnregioner och 42 språk. Mer information finns i tillgängligheten för tjänster.

Dataverse är utformat för att uppfylla skalbarhetsbehov på företagsnivå genom att använda tjänstskyddsgränser för att minimera skadligt beteende som kan störa tjänsten.

Information om serviceavtal finns i Serviceavtal.

Säkerhet

Säkerhet på radnivå (RLS) är det bästa sättet att begränsa dataåtkomsten för enskilda användare eller grupper i Power BI. RLS-modeller finns kvar i den här lösningen. Om en användares behörigheter i Power BI är inställda på att endast visa en delmängd av den övergripande datamodellen kan endast den delmängden skickas till Power Apps-lagret. Du måste dock konfigurera Power Apps-lagret så att slutanvändarna endast kan komma åt vissa data.

Du konfigurerar datasäkerhet för Power Apps med hjälp av rollbaserad säkerhet i Dataverse-serverdelen. Du kan använda roller för team, grupper eller enskilda användare för att ange vilka poster som är tillgängliga för manipulering i den här lösningen. Med den här funktionen kan du använda en app för enskilda arbetsytor för användare som har olika åtkomstnivåer till serverdelen. Se till att de rollbaserade säkerhetskonfigurationerna matchar de behörigheter som beskrivs i Säkerhetsmodellen på radnivå i Power BI för varje team, grupp eller användare för att säkerställa konsekvens i lösningen.

Mer information om hur du implementerar ett välkonstruerat ramverk finns i Microsofts säkerhetspelare.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Power Apps och Power Automate är saaS-program (programvara som en tjänst) som har flexibla prismodeller. Du kan licensiera Power Apps med planer per app eller per användare som passar dina affärsbehov. På samma sätt kan du licensiera Power Automate med planer per användare eller per flöde (enkel automatisering).

Flera versioner av Power BI är tillgängliga. Ditt val beror på mängden data som matas in. För Power BI Pro är endast en plan per användare tillgänglig. Power BI Premium tillhandahåller abonnemang per användare och per kapacitet.

Distribuera det här scenariot

Du måste ha relevanta Power Platform-licenser för att köra den här lösningen i produktion. Administratörer eller anpassningar av lösningen behöver också rätt säkerhetsroller för att ge åtkomst till Power Apps och Power Automate. Om du ännu inte har åtkomst till dessa licenser eller roller kan du använda Utvecklarplanen för Power Apps för att börja utveckla under tiden.

Så här distribuerar du den här lösningen:

  1. Skapa en PBIX-fil i Power BI Desktop som baskomponent i rapporteringsskiktet. Importera alla nödvändiga data från Dataverse eller vilken serverdel du använder.
  2. Lägg till det visuella Power Apps-objektet för Power BI direkt från fönstret Visualisering . Att skapa en app direkt från det visuella Power Apps-objektet för Power BI är det enda sättet att implementera integrering mellan Power BI och Power Apps.
  3. När du har implementerat integreringen måste du utveckla, utforma och koda arbetsyteappen för att utföra de affärsprocesser som du vill effektivisera.
  4. Om massbearbetning krävs måste en utvecklare skapa ett Power Automate-flöde för att hantera förbrukningen av data från Power Apps och dess spridning till Dataverse. Du kan konfigurera det här flödet för att tillhandahålla meddelanden eller godkännandearbetsflöden som du vill införliva i automatiseringen.
  5. När appen är klar måste du införliva den i Power BI-rapporten. Du kan göra detta direkt på Power BI-rapportskärmen eller genom att konfigurera en visningssida för detaljerad information.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudsakliga författare:

Annan deltagare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg

Produktdokumentation:

Microsoft Learn Training-moduler: