Bewerken

Delen via


Power BI-gegevens terugschrijven met Power Apps en Power Automate

Power BI
Power Apps
Power Automate
Microsoft Power Platform

Met deze oplossing wordt een Power Apps-canvas-app geïmplementeerd via de systeemeigen Power Apps-visual in Power BI. Power Automate biedt automatisering op de achtergrond voor bulkverwerking en vernieuwen.

Architectuur

Diagram met een architectuur voor write-back van Power BI-gegevens.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

Kernonderdelen van deze oplossing bevatten de mogelijkheid om vooraf gefilterde gegevens van Power BI door te geven in een Power Apps- en/of Power Automate-trechter voor updates in een ondersteunende back-end. Het is belangrijk dat u de Power BI-gegevensset (of gegevensstroom) vernieuwt om ervoor te zorgen dat updates zichtbaar zijn voor alle gebruikers.

Implementatie

(Zie voor meer informatie Implementeer dit scenario verderop in dit artikel.)

A. Implementeer Dataverse en een ondersteunende modelgestuurde app met relevante aangepaste tabellen.

B. Importeer alle back-endtabellen en weergaven in een Power BI-gegevensset (PBIX).

C. Start de integratie tussen Power BI en Power Apps via de Power Apps-visualisatie in de bureaubladtoepassing.

D. Gebruik Power Apps om een canvas-app te maken om alle benodigde gegevens te gebruiken en bij te werken.

Processtroom

  1. Gegevens verzamelen. Filter een geselecteerde rij of set gegevens kruislings door een deel van een visualisatie in een Power BI-rapport te selecteren. Deze interactie geeft de benodigde onderliggende gegevens van de Power BI-rapportinterface door aan de ingesloten canvas-app.
  2. Werk gegevens bij of voeg deze in Dataverse in met behulp van de gebruikersinterface van de canvas-app. U kunt dit doen door afhankelijke besturingselementen zoals formulieren en galerieën te gebruiken die systeemeigen zijn voor Power Apps en die rechtstreeks zijn gekoppeld aan back-endgegevens. U kunt ook meer aangepaste functionaliteit implementeren met behulp van niet-afhankelijke besturingselementen. Voor deze besturingselementen is extra Power Fx-code vereist. Voor scenario's met één update kunt u de app coderen om gegevens rechtstreeks door te voeren naar de back-end via de functies SubmitForm, Patch en UpdateIf . Voor scenario's met bulkupdates kunt u een verzameling (een virtuele tabel) maken met behulp van de functie Collect . Vervolgens kunt u de verzameling doorgeven om alle gegevensupdates tegelijk te verwerken. Zie de gebruikersinterface van Power App voor schermopnamen van de canvas-app.
  3. Push updates naar de bron. Een Power Automate-stroom biedt automatisering op de achtergrond zoals vereist voor het scenario. Voor scenario's met één update waarbij slechts één rij uit de geselecteerde tabel wordt bijgewerkt, wordt een eenvoudige stroom uitgevoerd om de PBIX-gegevensset te vernieuwen. Dit zorgt ervoor dat de bijgewerkte gegevens worden weergegeven in de Dataverse-back-end en in de rapportagelaag. Voor scenario's met bulkupdates wordt een complexere stroom uitgevoerd. Er wordt een JSON-verzameling geneste objecten gebruikt die worden doorgegeven uit de Power Apps-verzameling die in de vorige stap is beschreven. De stroom doorloopt vervolgens elk genest object, waarbij gegevens in Dataverse afzonderlijk worden bijgewerkt, indien nodig. Nadat de updatestap is voltooid, wordt de PBIX-stroom vernieuwd. Als in het Power BI-rapport DirectQuery wordt gebruikt, zijn de geautomatiseerde stappen die zijn gekoppeld aan het vernieuwen van PBIX niet nodig.
  4. Updates visualiseren. Alle gegevens worden bijgewerkt en vernieuwd. De eindgebruiker vernieuwt het browservenster om de update te zien.

Onderdelen

  • Dataverse. Een back-enddatabaseoplossing die u kunt gebruiken om gegevens op te slaan in een uiterst veilige, aanpasbare, schaalbare omgeving. Deze omgeving maakt naadloos verbinding met Dynamics 365, Azure, Visual Studio en Power Query. Dataverse biedt efficiënte gegevensverwerking en een opensource-gedeeld gegevensmodel dat semantische consistentie biedt.
  • Power BI. Een verzameling softwareservices, apps en connectors die samenwerken om uw niet-gerelateerde gegevensbronnen om te zetten in coherente, visueel meeslepende, interactieve inzichten.
  • Power Apps. Een suite met apps, services en connectors, die allemaal beschikbaar zijn op een uitgebreid gegevensplatform. U kunt deze service gebruiken om snel toepassingen te maken om te voldoen aan aangepaste bedrijfsbehoeften. In deze oplossing wordt Power Apps gebruikt voor gegevensupdates en invoegingen in een intuïtieve gebruikersinterface. Het fungeert ook als een trigger voor automatisering.
  • Power Automate. Een service die u kunt gebruiken om geautomatiseerde werkstromen te maken tussen verschillende verbonden apps en externe services. U kunt deze configureren voor het overdragen van gegevens, het verzenden van meldingen, het verzamelen van artefacten en meer. In deze oplossing wordt Power Automate gebruikt voor bulkverwerking van bijgewerkte gegevens en voor gegevensvernieuwing in de PBIX- en/of gegevensstroomlaag om bijgewerkte gegevens terug te pushen naar een Power BI-rapport.

Alternatieven

  • Alternatieven voor Dataverse zijn de volgende oplossingen:
  • U kunt Power Query-gegevensstromen afzonderlijk gebruiken of samen met Power BI-gegevenssets voor deze oplossing, afhankelijk van de schaal en efficiëntie van gegevens in uw omgeving. Als u gegevensstromen in uw oplossing gebruikt, moet u uw Power Automate-extensie beheren om elke gegevensstroom of gegevensset dienovereenkomstig te vernieuwen.
  • U kunt aangepaste toepassingen bouwen met behulp van JavaScript, HTML, C# of andere talen die kunnen worden ingesloten in een Power BI-rapport om geselecteerde gegevens bij te werken. Deze apps moeten echter anders worden geïmplementeerd in de Power BI-rapportlaag, omdat er geen systeemeigen visualisatie is zoals voor Power Apps. Als u schaalbaarheid voor deze apps implementeert, moet u deze bewaken. Zie het Ontwikkelaarscentrum van Power BI voor informatie over het beste implementeren van aangepaste onderdelen in Power BI.
  • U kunt ook de Power Automate-visual voor Power BI gebruiken voor write-backscenario's. Deze visual is geoptimaliseerd voor het verwerken van grote gegevenssets en Power Apps verwerkt delegatie. U kunt de Visuals van Power Automate en Power Apps samen gebruiken om schaalbare efficiëntie te bieden. Als u de Power Automate-visual gebruikt, vindt gegevensupdate plaats op de achtergrond zonder de aanwezigheid van een weergegeven gebruikersinterface.

Scenariodetails

Deze oplossing voor de functionaliteit voor het terugschrijven van gegevens in Power BI biedt een interactieve en efficiënte manier om gegevens rechtstreeks vanuit Power BI te wijzigen. Power BI heeft momenteel geen systeemeigen oplossing die u kunt gebruiken voor inline- of bulkupdates van gegevens terwijl u communiceert met een rapport of dashboard. Als u wijzigingen in gegevens wilt pushen, moet u updates rechtstreeks in uw gegevensarchieven aanbrengen en vervolgens, als u DirectQuery niet gebruikt, een gegevensset vernieuwen om de processtroom te voltooien. Dit proces kan inefficiënt zijn en kan problemen opleveren voor gebruikers die geen toegang hebben tot een specifieke back-end of de onderliggende gegevens.

Potentiële gebruikscases

Deze architectuur is zeer iteratief. U kunt deze gebruiken met verschillende back-endgegevensarchieven en deze aanpassen aan verschillende use cases. Praktische toepassingen voor deze architectuur zijn onder andere:

  • Inline bewerken. De oplossing kan worden gebruikt voor gegevens die snel moeten worden bijgewerkt zonder ingerichte toegang tot een back-enddatabase.
  • Goedkeuringswerkstromen. Door de mogelijkheden van Power BI met Power Apps en Power Automate uit te breiden, kunnen eindgebruikers gegevens verzamelen die rechtstreeks vanuit een dashboard moeten worden gecontroleerd en naar volgende goedkeurders moeten worden verzonden.
  • Gegevensgestuurde waarschuwingen. De oplossing kan aanpassing bieden aan geautomatiseerde meldingen over specifieke inzichten via het verzenden van records of het doorgeven van gegevenspakketten aan een Power Automate-stroom.

Gebruikersinterface van Power App

In de volgende schermopnamen ziet u het proces voor het doorgeven van gegevens van Power BI aan de onderliggende database.

Dit is het startscherm voor de canvas-app:

Schermopname van het startscherm voor de canvas-app.

In deze schermopname ziet u het proces voor één update:

Schermopname van het proces voor één update.

In deze schermopname ziet u het proces voor een bulkupdate:

Schermopname van het proces voor een bulkupdate.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd, een set richtlijnen die u kunt gebruiken om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Schaalbaarheid

Als u de integratie tussen Power BI en de canvas-app voor ondersteuning voor write-back correct tot stand wilt brengen, moet u deze instellen door de canvas-app rechtstreeks vanuit de Power Apps-visualisatie in het Power BI-rapport te maken. Als deze integratie niet juist is ingesteld, is het niet mogelijk om kruislings gefilterde gegevens van de Power BI-rapportlaag door te geven aan de gebruikersinterface van Power Apps.

U moet delegering aanpakken wanneer u de schaalbaarheid overweegt. Delegatie is een concept dat uniek is voor Power Apps (canvas-apps) die het bereik van gegevensverwerking via de cloud beperkt terwijl de logica van een app wordt uitgevoerd. Canvas-apps die in deze oplossing zijn geïmplementeerd, moeten correct worden ingericht om grote gegevenssets te verwerken die gebruikmaken van lussen of complexe filterinstructies om ervoor te zorgen dat alle gegevens worden behandeld wanneer u een update uitvoert naar de back-enddatabase en vervolgens de Power BI-gegevensset. U kunt Power Automate in dit scenario gebruiken om de efficiëntie te verhogen wanneer u grootschalige bulkupdates van meer dan 2000 rijen verwerkt.

Beschikbaarheid

Alle onderdelen die in deze architectuur worden beschreven, zijn beheerde services die automatisch worden geschaald, afhankelijk van regionale beschikbaarheid. Momenteel is Power Apps beschikbaar in zes kernregio's en 42 talen. Zie de beschikbaarheid van services voor meer informatie.

Dataverse is ontworpen om te voldoen aan de schaalbaarheidsbehoeften op ondernemingsniveau door gebruik te maken van servicebeveiligingslimieten om schadelijk gedrag te beperken dat de service kan verstoren.

Zie Serviceovereenkomsten voor meer informatie over SLA's.

Beveiliging

Beveiliging op rijniveau (RLS) is de beste manier om de toegang tot gegevens te beperken voor afzonderlijke gebruikers of groepen in Power BI. RLS-modellen blijven behouden in deze oplossing. Als de machtigingen van een gebruiker in Power BI zijn ingesteld om alleen een subset van het algemene gegevensmodel weer te geven, kan alleen die subset worden doorgegeven aan de Power Apps-laag. U moet echter de Power Apps-laag zo configureren dat eindgebruikers alleen toegang hebben tot bepaalde gegevens.

U configureert gegevensbeveiliging voor Power Apps met behulp van op rollen gebaseerde beveiliging in de Dataverse-back-end. U kunt rollen toepassen op teams, groepen of afzonderlijke gebruikers om op te geven welke records beschikbaar zijn voor manipulatie in deze oplossing. Met deze functionaliteit kunt u één canvas-app gebruiken voor gebruikers met verschillende toegangsniveaus tot de back-end. Zorg ervoor dat de beveiligingsconfiguraties op basis van rollen overeenkomen met de machtigingen die worden beschreven in het beveiligingsmodel op rijniveau van Power BI voor elk team, elke groep of elke gebruiker om consistentie te garanderen.

Zie de Microsoft-beveiligingspijler voor meer informatie over het implementeren van een goed ontworpen framework.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Power Apps en Power Automate zijn SaaS-toepassingen (Software as a Service) met flexibele prijsmodellen. U kunt Power Apps licenties toewijzen met abonnementen per app of per gebruiker die aan uw bedrijfsbehoeften voldoen. Op dezelfde manier kunt u Power Automate licenties toewijzen met abonnementen per gebruiker of per stroom (één automatisering).

Er zijn verschillende versies van Power BI beschikbaar. Uw keuze is afhankelijk van het gegevensvolume dat is opgenomen. Voor Power BI Pro is alleen een abonnement per gebruiker beschikbaar. Power BI Premium biedt abonnementen per gebruiker en per capaciteit.

Dit scenario implementeren

U moet over de relevante Power Platform-licenties beschikken om deze oplossing in productie uit te voeren. Beheerders of aanpassers van de oplossing hebben ook de juiste beveiligingsrollen nodig om toegang tot Power Apps en Power Automate mogelijk te maken. Als u nog geen toegang hebt tot deze licenties of rollen, kunt u het Power Apps-ontwikkelaarsabonnement gebruiken om de ontwikkeling in de tussentijd te starten.

Ga als volgt te werk om deze oplossing te implementeren:

  1. Maak een PBIX-bestand in Power BI Desktop als basisonderdeel van uw rapportagelaag. Importeer alle benodigde gegevens uit Dataverse of de back-end die u gebruikt.
  2. Voeg de Power Apps-visual voor Power BI rechtstreeks vanuit het deelvenster Visualisatie toe. Het maken van een app rechtstreeks vanuit de Power Apps-visual voor Power BI is de enige manier om integratie tussen Power BI en Power Apps te implementeren.
  3. Nadat u de integratie hebt geïmplementeerd, moet u de canvas-app ontwikkelen, ontwerpen en codeeren om de bedrijfsprocessen uit te voeren die u wilt stroomlijnen.
  4. Als bulkverwerking is vereist, moet een ontwikkelaar een Power Automate-stroom maken om het verbruik van gegevens uit Power Apps en de doorgifte ervan naar Dataverse af te handelen. U kunt deze stroom configureren om meldingen of goedkeuringswerkstromen op te geven die u wilt opnemen in de automatisering.
  5. Wanneer de app is voltooid, moet u deze opnemen in het Power BI-rapport. U kunt dit rechtstreeks doen in het power BI-rapportscherm of door een drillthrough-pagina te configureren.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Belangrijkste auteurs:

Andere inzender:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen

Productdocumentatie:

Microsoft Learn-trainingsmodules: