AFAS en Power BI koppelen

Microsofts Power BI voor klant- of interne rapportages is sterk in opkomst, niet alleen binnen de accountancybranche. Sommige softwareleveranciers bieden zelfs al ‘in-app’ Power BI rapportages aan. Je kunt ook zelf aan de slag, zodat je meer vrijheid hebt in de samenstelling en vormgeving van je rapporten en dashboards. Als de software beschikt over een vrije toegankelijke API is het eenvoudig om ermee te verbinden en kun je snel aan de slag.

In deze how-to laat ik je in een paar stappen zien hoe je eenvoudig een gegevensverbinding vanuit Power BI maakt met AFAS Software. Een bekend ERP-systeem in o.a. de accountancybranche. Het gaat om een directe verbinding via de REST-API van AFAS.

Je kunt daarmee handige rapportages maken over diverse dataverzamelingen. Bijvoorbeeld onderhanden werk, actueel projectresultaat, productie en afboekingen. De meest gevraagde in de branche ?. Waar de AFAS Excel Cockpits de dynamische drill-through missen en AFAS BI geen raad weet met custom fields, biedt Power BI uitkomst. Je kunt daarbij ook hele mooie functionaliteiten toevoegen aan visualisaties zoals ‘prognose’, waarbij datareeksen worden geëxtrapoleerd aan de hand van instelbare parameters. Hoe meer data, hoe betrouwbaarder de prognoses uiteraard.

Stap 1

  • Prepareer in AFAS Profit een GetConnector, bijvoorbeeld op basis van de nacalculatie, onder Algemeen, Uitvoer, Beheer, GetConnector.
  • Zorg dat je voldoende filtering instelt op de gegevensverzameling, zodat je geen onnodige data hoeft in te laden.
  • Geef de GetConnector een duidelijke naam zonder spaties. Onthoud deze.

Stap 2

  • Maak een app connector aan onder Algemeen, Beheer, AppConnector.
  • Ga naar tab ‘GetConnectoren’ en selecteer de zojuist aangemaakte GetConnector in stap 1.
  • Ga naar tab ‘Algemeen’ en deblokkeer de App connector.
  • Ga naar tab ‘Gebruikerstokens’ en kies nieuw, doorloop de wizard en kopieer de XML-code.
  • Zoek online een gewenste Base64 encoder en zet daarmee de XML-code om naar ASCII-tekens.

Stap 3

  • Start Power BI Desktop en maak een nieuw bestand.
  • Kies Gegevens ophalen in het lint.
  • Kies onder Overige voor ‘Web’
  • Kies Geavanceerd

Stap 4

  • Vul bij URL onderdelen de link in naar API, in deze opbouw

Acceptatieomgeving:

https://[omgevingnr].restaccept.afas.online/profitrestservices/connectors/[naamGetConnector]

Productieomgeving:

https://[omgevingnr].rest.afas.online/profitrestservices/connectors/[naamGetConnector]

Testomgeving:

https://[omgevingnr].resttest.afas.online/profitrestservices/connectors/[naamGetConnector]
  • De naam van de GetConnector uit stap 1 geef je op het eind van de URL in.

Let op!

Standaard worden er 100 regels opgehaald. Je kunt dit aanpassen voor gebruik te
maken van variabelen (skip & take) die je in de URL-aanroep meegeeft. Dit
plak je direct achter de URL, bijvoorbeeld ?skip=0&take=1000. De eerste
1000 regels worden dan opgehaald. Door gebruik te maken van ?skip=-1&take=-1
worden alle regels opgehaald. Doe dit alleen als je doeltreffende filtering
hebt toegepast op de gegevensverzameling in Stap 1.

Meer info over optimalisatie van performance van de GetConnector vind je hier.

  • Geef bij de parameters in de header de waarde op zoals in de afbeelding. Plaats hier de ASCII-gecodeerde variant van de XML-token uit Stap 2.
  • En kies OK et voilà.

Stap 5

  • Je kunt nu aan de slag met het bewerken van de query, ophalen van achterliggende waarden bij de Arrays en verder transformeren van de data.

Enkele tips tot slot

Omdat het gaat om een directe data verbinding, zal je mogelijk bij het verversen wat vertraging ervaren. Als je op uitgebreide wijze gegevens wilt analyseren met historisch verloop of databronnen wilt combineren, overweeg dan -als je de experimentele fase voorbij bent- om een datawarehouse op te zetten.

Wil je prognoses toevoegen aan je visuals, zoals genoemd in de inleiding? Kies voor een lijndiagram, zorg dat je op de As een Getal/Datumveld plaatst (geen String). Naast het opmaaksymbool van de visualisatie, vind je het analysesymbool (zie afbeelding). Hier kun je ‘prognose’ of ‘forecast’ aanzetten op je visualisatie.

Leave a Comment