Koppeling Power BI | Hoe kan ik dashboards maken over gebruikers en toegewezen projecten
Altijd al een overzicht willen genereren van de actieve gebruikers van een KE-chain omgeving om inzicht te krijgen in toegewezen projecten en productiviteit? In deze pagina leggen we uit hoe je via PowerBI eigen dashboards kan maken op basis van de KE-chain REST API. Voor de volledigheid leggen we ook uit hoe je authenticatie via PowerBI kunt inrichten, hoe je API queries opbouwt en laten we enkele dashboards zien.
Data ophalen
Deze tutorial gaat van het volgende uit:
De gebruiker heeft PowerBI Desktop
De gebruiker heeft een actieve licentie (gebruikersnaam en wachtwoord) voor KE-chain.
Uitleg API end-points
In dit voorbeeld gaan we via Power BI data opvragen om de projecten en gebruikers van jouw omgeving op te halen. Via de KE-chain API moeten we daarom de scopes
bevragen. Enkele voorbeelden van de meestgebruikte API end-points zien er als volgt uit:
Projecten:
https://<<omgeving>>.ke-chain/api/v3/scopes?limit=10&fields=id,name,members&status=ACTIVE
Formulieren:
<<omgeving>>.ke-chain/api/v3/forms?limit=10&fields=active_status,id,name,contexts,category&category=INSTANCE
Onderdelen en eigenschappen (data binnen formulieren):
<<omgeving>>.ke-chain/api/v3/parts?limit=10&scope_id=<<scope_id>>&category=INSTANCE
Bij het bevragen van de API gelden de volgende basisregels:
Gebruik tijdens de ontwikkeling altijd een limiet op de bevraagde informatie om overbelasting van de server te voorkomen. Als jouw API goed staat ingesteld kan je de limiet aanpassen naar jouw gewenste resultaten
...ke-chain.com/api/...?limit=10
Je kunt explicitiet velden meegeven voor het ophalen van specifieke gegevens
...ke-chain.com/api/...?fields=name,id,..
Je kunt filteren om enkel relevante data op te halen, bijvoorbeeld
&status=ACTIVE
(voor scopes),&category=INSTANCE
(voor parts of forms)Gebruik het
?
symbool om het eerste argument in te vullen; je kunt middels het&
symbool meerdere argumenten combineren:...ke-chain.com/api/...?limit=10&fields=id,name&status=ACTIVE
. In dit voorbeeld willen we tien resultaten (bijvoorbeeld 10 actieve projecten) ophalen, dus delimit
is10
. Per resultaat willen we de veldenid
enname
ophalen. Verder willen we alleen resultaten zien waarbij het veldstatus
de waardeACTIVE
heeft.
API opvragen
In dit voorbeeld gebruiken we de scopes
API om een overzicht te kijgen van projecten en gebruikers. Om deze databron te koppelen in Power BI, ga in een leeg project naar: Home > Get data > Web.
Een pop-up zal openen om een URL in te voeren. Bouw hier de API op om projecten en gebruikers op te halen. Dit ziet er als volgt uit: https://<<omgeving>>.ke-chain.com/api/v3/scopes?limit=10&fields=id,name,members&status=ACTIVE
. Bevestig vervolgens met OK. Het is altijd later mogelijk om de limiet te verhogen (zie Data uitbreiden hoe je dat doet).
API authenticatie instellen
Bij het opvragen van bovenstaande API zal je direct de authenticatie moeten instellen. Dit is een beveiliging die op de API zit, zodat alleen de gebruikers met een actief account in de omgeving deze aanvraag kunnen doen.
De wizard Access Web content wordt automatisch geopend. Klik op de knop in het zijmenu Basic om jouw KE-chain inloggegevens in te vullen. Dit ziet er als volgt uit:
Indien je bovenstaande wizard niet ziet verschijnen, dan komt dat omdat in het verleden al eerder een API is ingesteld voor de URL. Je zult dus zelf de authenticatie moeten instellen. Hoe je dit doet is uitgelegd onderaan deze pagina: Authenticatie.
API Query Editor
Je zult nu automatisch in de Power Query Editor terecht komen. De data wordt automatisch uitgeklapt. Indien er een fout is, zoals een 403 Forbidden error, komt dit omdat de juiste authenticatie nog niet ingevoerd is (zie Authenticatie).
Wanneer de authenticatie goed is ingesteld, kun je bij Source de query opnieuw uitvoeren om data opnieuw op te halen. Wanneer de data correct is opgehaald zie je een lijst zoals zichtbaar in onderstaande afbeelding. Je kunt nu kolommen verwijderen die je niet nodig hebt, kolomnamen aanpassen of kolommen toevoegen.
Omdat we members
hebben opgevraagd, via &fields=..
wordt automatisch de volgende informatie opgehaald:
results.members.username
results.members.is_supervisor
results.members.is_manager
results.members.is_leadmember
We kunnen deze velden gebruiken om de rol te bepalen. Dit kunnen we doen door een nieuwe kolom toe te voegen met een formule. Dit kan via:
Ga naar Add Column via het menu
Klik op Custom Column
Geef de nieuwe kolom een naam: “Rol”
Voeg een custom column formula toe (gebruik de available columns):
CODEif [results.members.is_manager] then "Manager" else if [results.members.is_supervisor] then "Leidinggevende" else if [results.members.is_leadmember] then "Hoofdlid" else "Lid"
Bevestig met OK en zie het resultaat.
Nadat de data op orde is kun je de visualisatie opmaken. Sluit de Power Query Editor door via het menu te klikken op Close & Apply
Wanneer je in een later stadium de limit wilt bewerken, kun je klikken op de data source en in de ‘Applied steps’ klikken op Source. Bij source kun je de API call aanpassen. Wanneer je limit
aanpast blijven alle andere stappen in tact. Sluit de Power Query Editor opnieuw en herlaadt de data.
Lees hieronder bij Data uitbreiden hoe je de limiet kan aanpassen en meer gegevens kunt opvragen.
Data visualiseren
Nu we een data query hebben opgebouwd, kunnen we een passende visualisatie maken. We willen graag een combinatie maken van beschikbare projecten en een matrix van gebruikers met hun rol per project.
Bij visualizations, klik op Matrix. Selecteer de volgende gegevens:
Rows:
results.members.username
Columns:
results.name
Values:
Rol
Zorg ervoor dat ‘Keep all filters’ aan staat. Je kunt verder in opmaak de Column subtotals en Row subtotals uitzetten, aangezien dat niet veel toevoegd.
Wanneer je de bovenstaande visualisatie hebt geconfigureerd zie je de volgende tabel:
Om effectief te kunnen filteren op gebruikers en projecten voegen we nog een tabel toe met enkel de Projectnaam. In dit voorbeeld hebben we results.name
hernoemd naar Projectnaam
door met de rechtermuisknop te klikken op een dataveld en deze te hernoemen via Rename
. Door de progressieve filters, kun je nu klikken op een projectnaam, waardoor de matrixtabel wordt aangepast met gebruikers per project. Vice versa, kun je nu klikken op een gebruikersnaam en komen alleen de toegewezen projecten terug in de linker tabel.
Enkele use-cases voor projecten overzichten:
Use-case 1: Klik op een Projectnaam om de gekoppelde gebruikers en hun rollen te zien:
Use-case 2: Klik op gebruikersnaam om de toegewezen projecten te zien:
Data uitbreiden
Als bovenstaande stappen succesvol zijn afgerond heb je het volgende resultaat in je overzicht:
Een matrixtabel met gebruikers & de rol per project;
Een filtertabel met de projectnamen.
Je opgestelde API werkt nu en kan dus worden uitgebreid om alle projecten en catalogi op te vragen. In het begin van deze instructie is er uitgelegd dat we een limiet hebben ingesteld van 10. Dit betekent dat de eerste 10 aangemaakte projecten van deze specifieke KE-chain omgeving worden opgevraagd. Dit limiet kan gewijzigd worden als volgt.
Ga naar het data-overzicht aan de rechterkant van je visualisaties:
Klik op Edit query
Klik op Source
Pas de waarde van limit= aan naar een passende/gewenste waarde voor de projecten en catalogi die je wil opvragen:
Na het invullen van de nieuwe waarde klik je weer op Close & Apply onder de knop File linksboven in je scherm.
Je keert terug naar je opgestelde dashboards. De laatste stap is het verversen van de nieuwe query. Dit doe je via Refresh data:
Controleer of al jouw projecten en catalogi in de filtertabel zichtbaar zijn. Zo niet, herhaal deze stappen totdat de juiste
limit
ingesteld is.
Let op dat er een fout kan optreden wanneer je de limit helemaal weghaald, omdat de ‘applied steps’ rekening houden met de velden count, next en previous. Dit is het gevolg van het toegepaste limiet. Je kunt dus beter een ruim limiet instellen, dan de limiet weghalen na het testen zodat je niet de data geheel opnieuw moet instellen.
Publish het dashboard
Tot slot kun je jouw dashboard publishen binnen jouw organisatie. Doe dit rechtboven in het menu via Publish. Je kunt via een link het dashboard delen; sla het op als favoriet in jouw browser. Vergeet niet om af en to de data opnieuw op te halen. Wanneer je een update doet, moet je deze wijziging ook publishen.
Authenticatie
Om gebruik te kunnen maken van de de API moet de juiste authenticatie ingevoerd worden. Dit kan middels een token, of gebruikersnaam en wachtwoord. In PowerBI is het eenvoudig om authenticatie toe te voegen via “Data source settings”:
Ga naar File > Options and settings > Data source settings óf via Home
Klik op “Data source in current file”
Selecteer de API bronnen in jouw bestand
Pas de Basic permissions aan. Klik op Edit.
Gebruik jouw KE-chain username en wachtwoord. Bevestig met Save.