Skip to main content
Skip table of contents

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.

Voorbeeld dashboard in Power BI

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 de limit is 10. Per resultaat willen we de velden id en name ophalen. Verder willen we alleen resultaten zien waarbij het veld status de waarde ACTIVE 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.

Voeg nieuwe data toe aan Power BI via 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).

Voer de url in om scope data op te halen.

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.

Voorbeeld van automatisch opgehaalde projecten en informatie

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:

  1. Ga naar Add Column via het menu

  2. Klik op Custom Column

  3. Geef de nieuwe kolom een naam: “Rol”

  4. Voeg een custom column formula toe (gebruik de available columns):

    CODE
    if [results.members.is_manager] then "Manager" else if 
    [results.members.is_supervisor] then "Leidinggevende" else if 
    [results.members.is_leadmember] then "Hoofdlid" else "Lid"
  5. Bevestig met OK en zie het resultaat.

Klik op Add Column

Voeg een Custom Column toe met een custom column formula

Resultaat van de custom column ‘Rol’

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

Sluit de Power Query Editor via het menu en klik 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.

Configureer een Matrix tabel op basis van de scopes data query.

Wanneer je de bovenstaande visualisatie hebt geconfigureerd zie je de volgende tabel:

Voorbeeld matrix, gebruikers en toegewezen projecten.

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.

Configureer een projectnaam 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:

  1. Een matrixtabel met gebruikers & de rol per project;

  2. 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.

  1. Ga naar het data-overzicht aan de rechterkant van je visualisaties:

  2. Klik op Edit query

  3. Klik op Source

  4. Pas de waarde van limit= aan naar een passende/gewenste waarde voor de projecten en catalogi die je wil opvragen:

  5. Na het invullen van de nieuwe waarde klik je weer op Close & Apply onder de knop File linksboven in je scherm.

  6. Je keert terug naar je opgestelde dashboards. De laatste stap is het verversen van de nieuwe query. Dit doe je via Refresh data:

  7. 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.

Na het opstellen van een dashboard kun je klikken op Publish om jouw dashboard te delen binnen de organisatie.

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”:

  1. Ga naar File > Options and settings > Data source settings óf via Home

  2. Klik op “Data source in current file”

  3. Selecteer de API bronnen in jouw bestand

  4. Pas de Basic permissions aan. Klik op Edit.

  5. Gebruik jouw KE-chain username en wachtwoord. Bevestig met Save.

Ga naar Options and settings > Data source settings

Klik op “Data source in current file” (of configurer configure global permissions als je een geadvanceerde gebruiker bent) en selecteer jouw bronnen één voor één.

Pas de Basic permissions aan. Klik op Edit.

Gebruik jouw KE-chain username en wachtwoord. Bevestig met Save

Gerelateerde pagina’s

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.