Wordt het PowerBI, Tableau of SAP Analytics Cloud?

In deze blog bespreek ik de voor- en nadelen van drie applicaties voor het maken van dashboards: PowerBI, Tableau en SAP Analytics Cloud (SAC). Deze applicaties worden veelal binnen organisaties ingezet voor het visualiseren van gegevens en het bouwen van dashboards. Welke van deze applicaties is qua functionaliteit het meest geschikt voor rapportages over gegevens uit een SAP BW/4HANA (BW4) datawarehouse?

Door het gebruik van een BW4 demo-omgeving was het mogelijk om de verschillende applicaties te testen. Zo heb ik kunnen concluderen dat SAC op dit moment het beste aansluit op een BW4 datawarehouse en dat deze ook de meeste functionaliteit kan bieden. De andere twee applicaties bieden gelijkwaardige functionaliteiten, maar hierbij moet je keuzes maken op gebieden als performance, autorisaties en inrichting van het systeemlandschap.

In de demo-omgeving heb ik een eenvoudige set met gegevens ingeladen en dit beschikbaar gesteld via een query. In deze query heb ik enkele functionaliteiten toegevoegd om te zien hoe de applicaties hiermee omgaan:

Hiërarchieën

Velden en BW InfoObjecten

Tijddimensie via InfoObjecten

Geografische attributen

Variabelen

Autorisaties

Herkomst van de gegevens

Verder heb ik gekeken naar de twee verschillende beschikbare instellingen in de applicaties om de gegevens op te halen. Alle drie de applicaties hebben een mogelijkheid om gegevens ‘live’ te benaderen of om gegevens te importeren. Bij een ‘live’ dataverbinding wordt alleen de metadata geïmporteerd en blijven de gegevens in het datawarehouse. Bij een ‘import’ dataverbinding worden alle gegevens gekopieerd naar de applicatie.

De drie applicaties ondersteunen beide verbindingssoorten, maar de functionaliteit per soort verschilt aanzienlijk. Omdat gegevens bij een ‘import’ dataverbinding naar de applicatie worden gekopieerd, vervallen enkele functionaliteiten van het datawarehouse. Bijvoorbeeld de mogelijkheid om gebruik te maken van de rekenkracht van de HANA-database. Ook vervalt de mogelijkheid van overnemen van data-autorisaties uit BW4 (zie ook: Autorisaties). Deze functionaliteiten geven de ‘live’ dataverbinding een groot voordeel.

Bij de test met PowerBI stuitte ik op beperkingen van een ‘live’ dataverbinding naar BW4. Je kunt dan géén tweede gegevensbron gebruiken. Ook kan je de resultaten uit de BW-query niet meer aanpassen via de formuletaal Power Query M van PowerBI. Wanneer je kiest voor de ‘import’ dataverbinding, importeer dan niet ‘blind’ alle dimensies om deze vervolgens weer te verwijderen via de Power Query M functionaliteit. Wanneer je dit wel doet, wordt nog steeds het gehele queryresultaat opgehaald en dit leidt tot een drastische vertraging van het verversen van het dashboard.

De ‘import’ dataverbinding in Tableau werkt alleen wanneer de query is gebaseerd op Advanced Datastores van het type ‘Datamart’. Dit is een grote beperking op het datamodel binnen BW4 vanwege flexibiliteit die je hierdoor kwijt raakt (Zie ook: Inrichting in SAP BW/4HANA)

In Tableau Desktop werkt de ‘live’ dataverbinding ook anders dan ik verwachtte. Je kunt in Tableau wel meerdere gegevensbronnen gebruiken in het dashboard. Echter kun je geen tijdreeks-filter op de tijdsdimensie (InfoObject 0CALDAY) maken, omdat Tableau deze niet herkent als een datum-veld. Bovendien is het belangrijk om te benoemen dat Tableau de SAP BW-connector niet verder gaat door-ontwikkelen. Het alternatief hiervoor is verbinden door middel van de SAP HANA-connector, maar daarvoor is wel de duurdere SAP HANA Enterprise licentie nodig voor het ontsluiten van Calculation Views in plaats van de Runtime licentie die voor BW4 geldt. Deze connector wordt geadviseerd boven de BW-connector vanwege de veel betere performance.

Een ‘import’ dataverbinding in SAC kan nog steeds gebruik maken van de rekenkracht van SAP HANA database, omdat deze database de onderliggende database in de cloud is. Bij een ‘live’ dataverbinding in SAC is de beperking, gelijk aan de situatie bij PowerBI, dat de resultaten van de query niet in het Model kunnen worden aangepast of verrijkt. Je zult alle berekeningen of filters in de query moeten toepassen. Binnen SAC is het wel mogelijk om meerdere gegevensbronnen te koppelen.

Hiërarchieën

In de BW query is een hiërarchie opgenomen over de Provincies en Gemeenten en is de standaard hiërarchie op de tijdsdimensie (Dag-Maand-Kwartaal-Jaar) beschikbaar.

PowerBI ondersteunt maar één hiërarchie per dimensie (InfoObject). Je moet vóór het laden van gegevens goed bedenken welke (navigeerbare) attributen je selecteert. De gekozen hiërarchie wordt namelijk bij het laden al helemaal in kolommen uitgesplitst naar het beschikbaar aantal niveaus. Bovendien komen er heel veel eigenschappen van de dimensie standaard beschikbaar (bijvoorbeeld de key, korte tekst en lange tekst). Ik kan ook aanraden om bij het kiezen van de te importeren dimensies de data-preview uit te zetten.

Hiërarchieën worden wel ondersteund in Tableau. Zo kan je eenvoudig de hiërarchie op de tijddimensie gebruiken en van Maand naar Kwartaal en Jaar schakelen in het dashboard. Doordat Tableau niet de Kalenderdag als datumveld ondersteunt, kan je niet hiërarchie tot het laagste niveau gebruiken.

In SAC vormen hiërarchieën geen beperking. Hiërarchieën komen direct beschikbaar in het Model en Je kunt in een Story een hiërarchie kiezen als filter of als weergave dimensie.

Geografische gegevens

In de demo query is gebruik gemaakt van twee geografische dimensies (InfoObjecten met locatie informatie). Hierbij zijn de Lengte- en Breedtegraad als weergave-attributen in de query opgenomen.

Wanneer deze gegevens (Provincie en Gemeente) in PowerBI worden gebruikt, valt het gelijk op dat enkele gemeenten niet in Nederland worden weergegeven.
Dit ontstaat doordat PowerBI de kaarten van Microsoft Bing gebruikt en zelf de vertaling van de naam van de gemeente of provincie naar de locatie gegevens uitvoert. De genoemde weergave-attributen worden dus niet in PowerBI ondersteund.

Bij de ‘import’-dataverbinding kan je wel weergave-attributen selecteren. Wanneer je deze qua type de verandert in ‘Decimal’ is het mogelijk om de kaart weer te geven via Latitude en Longitude gegevens. Op dat moment wordt de kaart netjes opgebouwd en worden er geen locaties in de VS meer geselecteerd (op basis van naam).

Ook in Tableau vindt de locatiebepaling plaats aan de hand van de naam van de provincie of gemeente. Tableau maakt gebruik van de kaarten van OpenStreetMap. De weergave-attributen worden niet ondersteund in Tableau. Voor de juiste werkwijze moet je gemeenten in Tableau instellen als Geography-dimensie van het type ‘County’. Voor provincies geldt de instelling ‘State/Province’.

Binnen SAC kunnen de lengtegraad en breedtegraad wel direct uit de BW query worden gelezen. Hierdoor is de locatie-informatie in het rapport gegarandeerd hetzelfde als in het datawarehouse. Je hoeft dus geen controle op de juistheid van de locatiegegevens in het dashboard te doen.

Variabelen

Je kunt in alle drie de applicaties variabelen uit de query gebruiken, maar het hangt wel af van de complexiteit van de variabelen. Een invoer-variabele wordt beter ondersteund dan een tekst- of formule-variabele. Het gebruik van invoer-variabelen werkt het beste op de ‘live’ dataverbindingen, omdat de invoerwaarde gelijk gebruikt kan worden. Bij de ‘import’ dataverbindingen is het lastig om de invoerwaarde dynamisch te maken, omdat het verversen van de gegevens vaak automatisch wordt uitgevoerd.

Bij Tableau geeft het gebruik van HANA calculation views veel voordelen, maar in de huidige situatie bieden deze views nog niet dezelfde functionaliteit als een BW query. Tekst-variabelen worden bijvoorbeeld niet in een HANA-view ondersteund.

Autorisaties

De ondersteuning van gegevensautorisaties is gericht op de ‘live’ dataverbindingen. Bij de ‘import’ dataverbindingen worden alle gegevens gekopieerd naar de applicatie en zal je in de applicatie een afzonderlijk autorisatiemodel moeten inrichten. De gegevens worden dan op geplande momenten ververst door een service-user in het datawarehouse. Daardoor verliezen de applicaties de mogelijkheid om gegevensautorisatie toe te passen. Dit geldt voor alle drie de applicaties.

Bij de ‘live’ gegevensverbinding worden gegevensautorisaties ondersteund, maar dit geldt alleen wanneer je gebruik maakt van Single Sign-On (SSO) tussen de applicatie en het datawarehouse. In dat geval moet de gebruikersnaam in de applicatie worden gekoppeld met de gebruikersnaam in het datawarehouse. Dit vereist weer een evenredig aantal gebruikersaccounts in het datawarehouse.

PowerBI en Tableau ondersteunen beide SSO via Kerberos. Dit proces is ingewikkeld en je moet zowel in de applicatie als in het datawarehouse een aantal instellingen aanpassen. Tableau ondersteunt ook SAML (Security Assertion Markup Language), maar dat geldt alleen voor de directe HANA verbinding, niet voor BW4. In SAC kun je ook gebruik maken van SAML in combinatie met CORS (Cross-Origin Resource Sharing, of Cross-Site cookies). Ook bij SAC moeten instellingen worden aangepast. Bovendien moet je instellingen in de browser aanpassen voor de acceptatie van (relevante) cookies.

Technologie

Als laatste onderwerp wil ik de technologie tussen de applicaties en het datawarehouse behandelen. Zo biedt BW4 verschillende manieren om verbinding te maken met een Query. Elk van deze verbindingstypen heeft zijn voor- en nadelen. Zo maakt Tableau gebruik van de MDX-connectie, waarbij de multi-dimensionele query wordt omgezet naar een relationele dataset. Dit is een extra conversie stap en heeft dus invloed op de performance.

PowerBI maakt gebruik van de OLAP-connector in JAVA. Deze connectie werkt beter met multi-dimensionele gegevens. Wel is deze qua performance langzamer, omdat deze in JAVA is geschreven.

SAC maakt gebruikt van de aloude BICS-connectie. Dit is de traditionele wijze van verbinden sinds eerdere BW versies. Deze manier van verbinden is door SAP zelf ontwikkeld en biedt daardoor ook de meeste functionaliteiten. Ook de snelheid van deze connectie is beter dan de andere twee manieren.

Inrichting in SAP BW/4HANA

Om gegevens beschikbaar te stellen aan de drie applicaties zijn binnen BW4 enkele essentiële instellingen noodzakelijk. Ten eerste moet de query ‘extern’ beschikbaar worden gesteld via de optie ‘By OLE DB for OLAP’.

Wanneer je vanuit Tableau verbindt via de HANA connector, kun je vanuit de BW query ook een HANA view genereren. Dit werkt alleen als de BW query geen complexe filters of variabelen gebruikt (zodat dit door de HANA calculation view wordt ondersteund).
Één van de beperkingen die ik bij het gebruik van Tableau tegenkwam, was dat Tableau alleen BW query’s ondersteunt die gebaseerd zijn op Advanced DataStores van het type ‘Datamart’. Afhankelijk van het soort gegevens in de betreffende Advanced DataStores kan dit lastig zijn, omdat ‘Datamarts’ de meetwaarden (measures of key figures) alleen kunnen optellen. Bij de bepaling van de juiste sleutelvelden van een Advanced Datastore kan een ‘Standaard Datastore Object’ betere resultaten geven, omdat daar de gegevens met dezelfde sleutelwaarden worden overschreven.

Gebruikte versies

  • SAP BW/4HANA 2.0 demo omgeving in de SAP Cloud Appliance Library (sap.com)
  • Power BI Desktop versie 2.100.1182.0 64-bit (december 2021)
  • Tableau Desktop versie 2021.4.2 64-bit (trial)
  • SAP Analytics Cloud development omgeving versie 2021.20.21

Verder sparren over dashboards in PowerBI, Tableau of SAP Analytics Cloud (SAC)! Neem dan contact op met Vincent Beumer

2 + 10 =