Terug naar lijst

In een tool als Power BI kun je gemakkelijk gegevens analyseren. Een van de applicaties waar veel van onze klanten mee werken is AFAS Profit. In deze blog laat ik je zien hoe je gemakkelijk gegevens uit AFAS op kunt halen en in laad in Power BI.

Stap 1: toevoegen GetConnector en AppConnector in Afas Profit
Om data op te kunnen halen uit AFAS moet er een GetConnector(s) en een AppConnector aangemaakt worden. In de GetConnector bepaal je welke data opgehaald kan worden. Met de AppConnector bepaal je wie deze data op kan halen.

GetConnector
Het toevoegen van een GetConnector gaat via het menu Algemeen in Afas Profit. In deze blog ga ik niet dieper in op het aanmaken van een GetConnector

AppConnector
Het toevoegen van een AppConnector gaat via het menu Algemeen -> Beheer -> AppConnector

In dit scherm voeg je een nieuwe AppConnector toe.

Geef de AppConnector een herkenbare naam, bijvoorbeeld PowerBI en kies de gebruikersgroep welke toegang moet hebben tot deze AppConnector en klik op Voltooien.

In het scherm met de eigenschappen van de AppConnector zet je het vinkje ‘Geblokkeerd’ uit.

In de tab ‘GetConnectoren’ voeg je de GetConnectoren die gebruikers van deze AppConnector op mogen vragen.

In de tab ‘Gebruikerstokens’ moet vastgelegd worden welke gebruikers toegang krijgen. Dit kan een Systeemgebruiker of een normale gebruiker zijn.
Wanneer een gebruiker in AFAS maar toegang heeft tot bijvoorbeeld nacalculatie regels van een beperkt aantal medewerkers zal deze via de GetConnector ook alleen de records te zien krijgen waar deze gebruiker rechten toe heeft.

Klik op de knop ‘Nieuw’ en selecteer een gebruiker. Geef een omschrijving voor de gebruiker en klik op volgende.
In het vervolgscherm verschijnt een token. Sla deze token veilig op (inclusief ‘<token><version>’ etc)! Deze token wordt eenmalig verstrekt. Klik daarna op ‘Voltooien’.

Sla de AppConnector op door op ‘OK’ te klikken.

Hieronder zie je deze stappen in beelden uit de webinar die ik hierover gegeven heb:

Stap 2: Data inladen in Power BI
Om data op te halen vanuit AFAS moet de API aangeroepen worden. De documentatie hiervan is te vinden op: https://help.afas.nl/help/NL/SE/App_Cnr_Rest_Api.htm.

Binnen Power BI moeten 2 stappen uitgevoerd worden:

  1. Token converteren naar Base64 string
  2. Aanroepen van de GetConnector

Token converteren naar Base64 string
De token die ontvangen is uit AFAS Profit moet geconverteerd worden naar een Base64 string. Daarnaast moet er voor deze tekst ‘AfasToken ’ komen te staan.
Binnen Power BI kan de token geconverteerd worden naar een Base64 string.

  1. Open de Query Editor (knop kan ook ‘Gegevens transformeren’ heten);
  2. Klik op de knop ‘Parameters beheren’
  3. Maak een nieuwe parameter aan met de naam ‘AfasToken’ en geef als ‘Huidige waarde’ de token op die ontvangen is uit AFAS.
  4. Voeg een nieuwe ‘Lege query’ toe
  5. Open de Geavanceerde editor en overschrijf het script met:
    let

Source = “AfasToken ” & Binary.ToText( Text.ToBinary( AfasToken ) )

in

Source

  1. Geef het script een naam, bijvoorbeeld ‘AfasTokenBase64’.

Aanroepen van de GetConnector
Het aanroepen van de GetConnector gaat door middel van een Web request. Binnen Power BI bestaat hiervoor de bron ‘Web’.

Kies in het geopende scherm de optie ‘Geavanceerd’ en vul de URL in en voeg een HTTP-aanvraagheader toe.

In mijn geval heb ik de URL opgeknipt in meerdere delen. Hierdoor kun je later gemakkelijk onderdelen hiervan vervangen door een parameter.
Veld 1 bevat de tekst ‘https://’;
Veld 2 bevat het Afas deelnemernummer;
Veld 3 bevat de omgeving. Voor een AFAS productie omgeving moet hier ‘.rest’ ingevuld worden in plaats van ‘.resttest’;
Veld 4 bevat de link naar de GetConnectoren;
Veld 5 bevat de naam van de GetConnector.

Bij de HTTP-aanvraagheaders heb ik de volgende gegevens toegevoegd:

Authorization: <AfasTokenBase64> -> Vervangen door je eigen Base64 token.

Klik op ‘OK’.

In het volgende scherm kies je voor Anoniem en dan ‘Verbinden’

Als resultaat krijg je een lijst met daarin 3 items: skip, take en rows. In de regel rows staat een list met alle resultaten.

Klik op gele tekst ‘List’. Een lijst met alle records wordt zichtbaar. Deze lijst moet geconverteerd worden naar een tabel. Gebruik hiervoor de functie ‘Naar tabel’.

Klap daarna de records uit:

De data uit AFAS staat nu als tabel in de Query Editor. Voer nu eventueel een aantal stappen uit om de data verder voor te bereiden voor je datamodel in Power BI. Denk hierbij aan het aanpassen van de kolommen naar het juiste gegevenstype. Dit is voornamelijk belangrijk voor getallen en datumvelden.

Hieronder zie je deze stappen in beelden uit de webinar die ik hierover gegeven heb:

Stap 3: Publiceren van het rapport naar de Power BI Service + automatisch herladen instellen
Wanneer het rapport klaar is om te publiceren kun je deze uploaden naar de Power BI Service (online omgeving van Microsoft). Hiervoor klik je op de knop ‘Publiceren’ in Power BI desktop.

Log in met je Microsoft Account (zakelijk) en publiceer het rapport in een werkruimte.

Ga naar de Power BI service (https://app.powerbi.com) en navigeer naar de werkruimte waar het rapport gepubliceerd is:

Klik op de knop voor ‘Vernieuwen plannen’ achter het gegevensset. Open hier de optie: ‘Gegevensbronreferenties’ en klik op de knop ‘Referenties bewerken’.

Kies voor Verificatiemethode ‘Anonymous’ en geen bij Privacyniveau het van toepassing zijne Privacyniveau aan. Belangrijk is om het vinkje ‘Testverbinding overslaan’ aan te zetten.

Stel daarna de geplande vernieuwing in. Power BI zal op de gewenste tijden de data opnieuw ophalen uit AFAS en tonen in Power BI.

Hieronder zie je deze stappen in beelden uit de webinar die ik hierover gegeven heb:

We zijn benieuwd naar de dashboards die je gemaakt hebt. Laat in de reacties weten welke data je uit AFAS gehaald hebt en hoe dit dashboard ingezet worden binnen je organisatie.

Heb je vragen of kom je er niet uit? Stuur ons je vraag via de Contact pagina!