
Power BI Dataflows: een Powerdobs review
Als Microsoft en cloud native BI consultancy bedrijf gebruiken we bij Powerdobs vaak Power BI als visualisatie software voor interactieve dashboards. Microsoft blijft Power BI enorm hard door ontwikkelen en heeft sinds April 2020 is een nieuw feature live in de Power BI cloud service: Dataflows. In dit blog bespreken we onze eigen ervaringen en hoe we Power BI Dataflows zien in de context van een bredere BI implementatie.
Wat zijn dat, ‘Dataflows’?
In de basis bestaat de Dataflows feature uit drie delen: Connectoren, Power Query’s, en Entities. Dataflows biedt daarmee de mogelijk om in de Power BI Service, dus de interface die je ziet in je webbrowser via app.powerbi.com, connecties te leggen met databronnen, die tabellen met Power Query te transformeren en de resultaten weg te schrijven naar Entities. In meer detail kunnen we per onderdeel het volgende zeggen:
- Connectoren: Door slim gebruik te maken van de al in Power BI beschikbare connectoren zijn er voor de Dataflows feature direct 100+ connecties te leggen met enorm veel bronsystemen. Erg krachtig voor een net uitgebrachte nieuwe feature!
- Power Query’s: Dit onderdeel is echt nieuw: een volledige Power Query web-interface zoals je die wellicht kent uit de Power BI Desktop Power Query Editor. Dus een uitgebreide, krachtige en intuïtieve interface om Power Query transformaties te realiseren.
- Entities: In de basis worden de resultaten per entiteit naar een tabel weggeschreven, ofwel ‘onder water’ in de Power BI Service waarbij de tabel alleen via power BI benaderbaar is, ofwel in een Azure data lake. Dat laatste mag ook een data lake zijn dat gebruik maakt van de Common Data Model (CDM) aanpak van Microsoft. CDM is een data modelling specificatie van Microsoft voor o.a. Dynamics, en biedt in de context van de Dataflows ook de mogelijkheid om onderlinge relaties tussen entiteiten af te dwingen.
Hoe kan je Dataflows gebruiken?
Dataflows genereren in de basis tabellen, bij voorkeur nette facts en dimensions, en optioneel ook de onderlinge relaties om dat datamodel integer te houden. Doordat de Dataflows gebruik maken van bekende onderdelen van het Power BI ecosysteem (Connectoren, Power Query’s) is het een stuk gereedschap voor Power BI developers om veelgebruikte informatie een laag dieper te beleggen en te centraliseren, ónder de Power BI datasets. Maar boven, of als aanvulling op, de informatie die uit een centraal data warehouse wordt aangeleverd. In de context van het volledige Microsoft Azure BI ecosysteem kan je Dataflows (groen blok) als volgt positioneren:
Dit diagram kan je als volgt lezen: Een veelheid aan databronnen (onderste laag) wordt in een BI omgeving geïntegreerd tot een centrale management informatie laag met éénduidige management informatie. Denk aan éénduidige definities van klanten, medewerkers, productiemiddelen, producten en diensten, omzet en winst, etc.
Gebruik makend van die centrale management informatie laag ontstaat ook de behoefte om decentraal in de organisatie (tactisch en operationeel niveau) stuurinformatie weer specifieker te maken voor week- en dag-sturing. Denk aan prestatie per afdeling, medewerker, of toeleverancier in een bepaald (deel-)proces. Dat doe je met Power BI.
Dataflows kan je zien als een extra ‘centralisatie’ laag voor Power BI analisten om business specifieke informatie te managen, óf toe te voegen uit brondata die (nog) niet in het centrale data warehouse aanwezig is. In deze context zien we bij Powerdobs twee primaire gebruiksdoelen voor Dataflows:
- Kleinere organisatie, MKB: Voor organisaties die nog aan het beginnen of groeien zijn wat betreft datagedreven werken kan Dataflows een nuttige feature zijn om zonder volledig Azure Data en BI platform door te kunnen groeien. Mét behoud van de mogelijkheid om in de toekomst wel een Azure BI platform neer te zetten, en het Dataflows werk daarin als staging laag te integreren via de Azure Data Lake resource.
- Erg grote organisatie, Enterprise: Voor grote Enterprise organisaties (>1000 medewerkers) is het een bekend fenomeen dat business analisten op korte termijn een vraag opgelost willen hebben (dagen), maar dat het datawarehouse team langere iteraties nodig heeft om nieuwe informatie toe te voegen aan de informatiebasis (weken). Dataflows kan voor business analisten een welkome aanvulling zijn om sneller, en wendbaarder, maar toch ook op een stabiele, veilige en schaalbare wijze de beschikbare informatiebasis uit te breiden.
Wat betreft de Enterprise use case zien we ook een groot risico: het wordt er niet duidelijker op! BI heeft als doel een éénduidige management informatie voorziening te bieden. Dat loopt eigenlijk altijd via een centraal datawarehouse, en Dataflows werken daar omheen. Lastig om dan die ‘centrale’ waarheid te bewaken. Gaan bijvoorbeeld de tellingen van het klantenbestand toch weer per afdeling afwijken want de één gebruikt de cijfers uit het datawarehouse, de ander cijfers uit een eigen dataflow.
De toekomst van Dataflows
Het Microsoft team is druk bezig om Dataflows door te ontwikkelen. Een aankomende feature is dat Dataflows entiteiten niet in een data lake worden opgeslagen als files en snapshots, maar in een SQL database met gegenereerde tabellen. Zodoende worden ook Direct Query connecties mogelijk. Eerlijk gezegd gaat deze feature niet het verschil gaat maken om ons enthousiast te krijgen over Dataflows.
Een andere invalshoek die meer leven in de Dataflows feature kan blazen is het Common Data Model. Dataflows kan waardevol zijn door snel databronnen te ontsluiten die een CDM aanbieden, maar dan moeten wel meer (Microsoft) software pakketten die feature bieden. Echter, daar zien we niet veel beweging in de markt, zelfs niet binnen het eigen Microsoft ecosysteem.
Voorzichtig trekken we de conclusie dat Dataflows met name tot zijn recht kan komen in kleinere organisatie die geen groot Azure Data en BI Platform kunnen dragen qua kosten en/of vaardigheden. Gaaf is dan ook dat er een groeipad blijft bestaan naar een volwaardige Azure BI implementatie waarbij het Dataflows werk behouden blijft. Aan de andere kant gaan we ongetwijfeld ook Dataflows zien bij grotere organisatie naast een door IT/IM aangeboden datawarehouse met een ‘centrale’ informatie voorziening. Dan krijg je in het kielzog ook de discussie mee over hoe ‘centraal’ die informatie voorziening is en/of zou moeten zijn. Gelukkig weten we bij Powerdobs ook het één en ander over Data & Information Governance ?