Power BI biedt de mogelijkheid om de mooiste rapportages te maken, maar laat soms nog wel een steekje vallen in de mogelijkheid om te communiceren binnen een rapportage. Zo wil je wellicht een opmerking achter laten bij een specifiek project, die vervolgens zichtbaar is voor iedereen die dat specifieke project bekijkt. Zie bijvoorbeeld de functionaliteit in het onderstaande voorbeeld. In dit artikel zullen wij je stap voor stap uitleggen hoe je dit kunt realiseren door gebruik te maken van Power Apps in Power BI

Allereerst zijn er een aantal dingen die nodig zijn om van start te gaan, namelijk:
- Een Power BI account
- Een Power Apps account, voor elke gebruiker van de Power App
- Een plek om de data naar toe te sturen, bijvoorbeeld een OneDrive. Dit kan echter ook een SharePoint of SQL-server zijn. Wij gebruiken in dit geval een Excel-sheet in een OneDrive opslag.
Stap 1: Een tabel maken om de data op te slaan
In dit voorbeeld zullen we de data verzenden naar een Excel-sheet, zodat we deze data kunnen opslaan en vervolgens kunnen uitlezen. Hiervoor is het belangrijk na te denken over welke kollommen voor jou relevant zijn, omdat dit na deze stap vast zal staan. In dit geval gebruiken wij de kolommen: Naam, Project, Datum en Opmerking.
Open een nieuw Excel-sheet en maak de gewenste kolommen aan.
Let op: Formateer de kolommen als tabel, dit is erg belangrijk voor de volgende stappen. Selecteer de kolommen en ga naar ‘Tabelontwerp’ > ‘Opmaak als tabel’ > selecteer een tabel.

Sla het bestand vervolgens op in OneDrive zodat het altijd beschikbaar is, open vervolgens Power BI. Importeer hier het bestand en leg de gewenste relaties. Het leggen van deze relaties zorgt er uiteindelijk voor dat de Power Apps visual op de juiste manier gefilterd zal worden. In dit geval willen we uiteindelijk kunnen filteren tussen verschillende opmerkingen per project, dus leggen wij een relatie naar de kolom ‘project’.

Je kunt nu naar je rapportage. Voor het gebruik van Power Apps in Power BI is er een Power Apps Visual, deze komt standaard in Power BI en is te herkennen aan het paarse logo. Maak een Power Apps Visual aan en laad hier in het gegevens-veld alle gewenste data die je uiteindelijk wilt weergeven. In dit geval is dit Datum, Naam, Opmerking en Project.
Als dit de eerste keer is dat je met deze visual werkt, klik je op ‘Nieuwe aanmaken’. Dit zal de connectie tussen Power BI en Power Apps maken. Power BI zal je vragen of het een browers mag openen, klik hier op ‘OK’. Je zult nu worden begeleid naar de Power Apps omgeving in je browser.

Stap 2: Het maken van de Power App
Nu je in de Power Apps omgeving bent, is het tijd om de Power App te maken. Voor het gemak van deze handleiding laten we het design van de Power App even achterwegen, we focussen dus alleen op de functionaliteiten die we voor de Power App willen.
Nu Power Apps een verbinding heeft met Power BI, door de vorige stap, is het nu belangrijk dat Power Apps ook een verbinding heeft met de juiste gegevensset. Hiervoor klik je in Power Apps aan de linker kant op ‘Gegevens’ > ‘Gegevens toevoegen’ > ‘OneDrive’.
Zoek vervolgens binnen jouw OneDrive het Excel-bestand die je in Stap 1 hebt aangemaakt, en klik op ‘Verbinding maken’.

Nu kunnen we van start met het bouwen van de Power App. Allereerst willen we een gebied aanmaken waarin we de geplaatste opmerkingen kunnen weergeven. Ga hiervoor in de linker balk naar ‘Invoegen’ > ‘Verticale galerie’. Je zult nu een pop-up schermpje krijgen, klik hierin op de tabel die je zojuist hebt ingeladen. In ons geval is dit ‘Tabel1’, maar dit kan mogelijk ook een andere naam hebben.

Je zult nu een voorgebouwde galerij krijgen, met de data uit jouw gegevensset. In dit geval is de gegevensset natuurlijk nog leeg en zal er niets worden weergegeven. In de standaard galerij is ook ruimte gelaten voor een afbeelding. Deze zullen we niet gaan gebruiken en kunnen we dus verwijderen door het te selecteren en vervolgens op backspace te drukken. Zo ook de pijl aan de rechterkant is in dit geval overbodig.

Omdat we een galerij maken waarin meerdere opmerkingen zullen verschijnen, maken we dus momenteel één template voor alle opmerkingen die uiteindelijk onder elkaar zullen verschijnen.
In ons voorbeeld maken we gebruik van een dikgedrukte titel, waarin we de naam, datum en het project van de geplaatste opmerking weergeven.
Selecteer hiervoor de bovenste titel in de galerij (of klik links op ‘Title’). Zorg dat links bovenin ‘Text’ geselecteerd is en vul de volgende code in: ThisItem.Naam & Text(“, “) & ThisItem.Datum & Text(“, “) & ThisItem.Project
Dit geeft aan dat de Power App de Naam, Datum en het Project van de betreffende opmerking moet weergeven, gescheiden door komma’s. Aangezien er momenteel nog niets is om weer te geven, zul je voor nu alleen de komma’s zien.

Vervolgens doen we hetzelfde voor de opmerking. Selecteer de subtitel, of klik links op ‘SubTitle’ en vul nu de volgende code in: ThisItem.Opmerking

Nu willen we alleen nog aangeven dat de galerij de opmerkingen weergeeft die bij het betreffende project horen. Hiervoor gebruiken we het PowerBIIntegration element dat is toegevoegd aan de Power App, doordat we dit vanuit Power BI hebben aangemaakt.
Klik hiervoor links op ‘Gallery’ > ‘Items’ en vul de volgedende code in: Sort(Filter(Tabel1; Project in PowerBIIntegration.Data.Project);Datum;Descending)

De Power App is nu klaar om alle informatie die we willen weer te geven, echter willen we ook een scherm waar we een opmerking kunnen plaatsen. Deze zullen we dus nu maken. Hiervoor maken we eerst een nieuw scherm aan door te klikken op: ‘Nieuw scherm’ > ‘Formulier’.

Er zal nu een nieuw scherm worden aangemaakt, met een automatisch gegenereerd formulier. Wederom moeten we bij dit formulier aangeven aan welke gegevensset moet worden gekoppeld, klik dus op het formulier en ga naar ‘Gegevensbron’ en selecteer weer de tabel die we in Stap 1 hebben gemaakt.

Power Apps weet nu welke gegevensset gebruikt kan worden, maar nog niet welke kolommen we willen gebruiken in het formulier. Hiervoor selecteren we ‘Velden bewerken’ > ‘Velden toevoegen’ > ‘Selecteer: Naam, Opmerking, Project’.
Voor het dataveld zullen we in een volgende stap een andere oplossing gebruiken.

Nu zul je het formulier krijgen met de gewenste invoervelden. De velden staan onder het kopje ‘Type besturingselement’ standaard ingesteld als ‘Tekst bewerken’. Dit houdt in dat de gebruiker een vrije invoer heeft tijdens het invullen van het veld. In dit geval is dat prima, behalve bij het veld ‘Project’. Hier willen we de gebruiker een keuze geven tussen de verschillende projecten. Om dit te veranderen ga je naar het veld ‘Project’ > ‘Type besturingselement’ > ‘Toegestane waarden’. Hier kun je natuurlijk ook rondkijken of een andere optie voor jouw project beter passend is.

Vervolgens moeten we aangeven welke items er in dit dropdown-menu moeten worden weergegeven. Het is hiervoor mogelijk een extern Excel-bestand te gebruiken als toegestane waarden, echter gebruiken we in dit voorbeeld een handmatige lijst. Klik hiervoor op het dropdown-menu en ga naar Geavanceerd > Items. Het kan zijn dat er een slotje op deze functie zit, klik hiervoor op het slotje en je zult het nu kunnen bewerken. In het veld ‘Items’ vullen we de volgende code in: [“Project 1″;”Project 2″;”Project 3”]
Je kunt uiteraard de tekst vervangen met elke gewenste waarde, of een aantal opties toevoegen.

Vervolgens zijn er een aantal knoppen die standaard in het formulier zitten. Deze moeten we nog de juiste code geven om te zorgen dat deze doen wat we willen. Dit zijn het kruisje en het vinkje bovenaan het scherm. Het kruisje moet de functie hebben om terug te gaan naar het vorige scherm, zonder een formulier te verzenden. Hiervoor klikken we op het kruisje en vullen we bij de ‘OnSelect’ optie de volgende code in: Navigate(Screen1)
Zorg hiervoor dat ‘Screen1’ de naam heeft van het eerste scherm dat je hebt aangemaakt. De naam hiervan kun je in de linker balk terug vinden.

Hetzelfde doen we voor het vinkje, echter willen we nu dat het formulier verzonden wordt en dan pas wordt genavigeerd naar het vorige scherm. Klik hiervoor op het vinkje en vul dit keer de volgende code in: SubmitForm(EditForm1)/Navigate(Screen1)
Dit zal er voor zorgen dat alle ingevulde velden worden verstuurd naar het Excel-bestand dat we hebben aangemaakt in een eerdere stap. Nu is het alleen nog belangrijk dat we de datum van invullen toevoegen aan een verzonden formulier. Hiervoor gaan we een ander truc gebruiken. Klik aan de linkerkant op het formulier dat je hebt aangemaakt, in dit geval ‘EditForm1’. Ga naar de ‘OnSucces’ sectie en vul de volgende code in: Patch(Tabel1;EditForm1.LastSubmit;{Datum:Text(Now())})

Deze code zorgt ervoor dat wanneer een formulier succesvol verstuurd is, de datum en tijd op dat moment wordt toegevoegd aan de kolom ‘datum’.
Je kunt nu het formulier testen, door rechtsbovenin op het ‘play knopje’ te klikken. Test het en kijk of het lukt om een formulier te verzenden. Hier kunnen een aantal foutmeldingen opkomen, die we hier gelijk even zullen verhelpen.
- Een foutmelding die aangeeft dat het bestand vergrendeld is. De oplossing hiervoor is simpel: zorg ervoor dat, wanneer er een formulier verzonden wordt, het Excel-bestand waar naar geschreven wordt gesloten is. Als er iemand in dit bestand zit is het voor Power Apps niet mogelijk hier iets in te veranderen.
- Een foutmelding die aangeeft ‘Er is geen item om weer te geven’. De oplossing hiervoor is ook simpel: Klik weer links aan de zijkant op het formulier dat je hebt aangemaakt, in dit geval ‘Editform1’ en vul onder het kopje ‘Item’ de volgende code in: Defaults(Tabel1)
Nu zul je een werkend formulier hebben! Er rest echter nog één laatste stap: Het toevoegen van een navigatie knop op het hoofdscherm. Ga dus aan de linker kant terug naar ‘Screen1’ en klik op ‘Invoegen’ > ‘Pictogrammen’ > ‘ + Toevoegen’.

Plaats het icoontje waar je zelf wilt, in dit geval zal ik hem rechtsbovenin plaatsen. Klik er vervolgens op en vul in het ‘OnSelect’ vak de volgende code in: Navigate(Screen2)

Mocht je nou ook opmerkingen willen kunnen verwijderen is hiervoor een simpele oplossing. Klik op de galerij aan de linker kant van het scherm, voeg nu een kruisje in via ‘Invoegen’ > ‘Pictogrammen’ > ‘Annuleren’. Voeg vervolgens de volgende code in bij het ‘OnSelect’ veld: Remove(Tabel1;ThisItem)
Let op: Zorg er voor dat het icoontje onder de galerij valt, zoals te zien aan de linkerkant van het scherm. Is dit niet het geval, sleep deze er dan alsnog in.

Je hebt nu een werkende Power Apps, waarin je opmerkingen kunt plaatsen, weergeven en verwijderen. Uiteraard kun je nu nog alle stijlelementen bewerken op de manier zodat jij dat zelft wilt. Publiceer de App nu door te klikken op CTRL + SHIFT + P, of via ‘Bestand’ > ‘Opslaan als’ > ‘Opslaan’ > ‘Publiceren’.
Stap 3: Power App openen in Power BI
Nu de Power App is gemaakt en gepubliceerd kunnen we deze in Power BI openen. Ga naar Power BI en klik op App kiezen binnen de Power App visual. Kies hier de Power App die je zojuist heb gepubliceerd.

Sidenotes:
Een aantal kleine opmerkingen die handig zijn om te weten bij het werken met Power BI en Power Apps:
- Elke gebruiker van de Power App moet een account hebben waar minimaal Microsoft 365 op staat. Dit zorgt ervoor dat de gebruiker gerechtig is om gebruik te maken van Power Apps, aangezien dit geen gratis service is.
- Elke gebruiker die gebruik maakt van de Power App, moet toegang hebben tot de achterliggende bestanden die zijn gebruikt. Dit betekend dus dat de gebruiker van de Power App toegang moet hebben tot het achterliggende Excel-bestand in de One Drive.
- Wanneer een nieuwe opmerking geplaatst wordt, zal deze naar het Excel-bestand verzonden worden. Het is hier van belang dat het Excel-bestand gesloten is en er niemand op welke locatie dan ook in het Excel-bestand zit.