Met de opkomst van de verschillende tools binnen het Power BI platform wordt ons steeds vaker de vraag gesteld wat het verschil is tussen al deze tools en wat nu de beste architectuur is voor verschillende klanten. Nu is daar natuurlijk niet een algemeen antwoord op te geven, maar ik kan wel uitlichten wat welke tool doet en hoe je deze het beste kan inzetten. 

Verschillende fases

Onderstaand plaatje laat goed zien welke fases er zijn voordat je een Power BI rapport of dashboard kan maken. Niet elke tool is geschikt om voor al deze fases te gebruiken. Per tool zal ik even kort toelichten waar deze wel en niet geschikt voor is.  

  1. Data ontsluiting
  2. Data transformatie
  3. Data modellering

dataflows introduction self service flow

Power BI Dataflow

Met een Power BI Dataflow kan data uit verschillende bronnen worden ontsloten en worden ingeladen in een Azure  Data Lake. Meer hierover kunt U lezen in mijn andere blog Power BI Dataflow. In bovenstaand plaatje wordt dit nog een keer duidelijk weergegeven. Data kan ontsloten worden vanuit verschillende bronnen en er kunnen eventueel transformaties op de data worden gedaan. Fase 1 en fase 2 kunnen dus met deze tool worden gedaan. 

Power BI Datasets

Een Power BI Dataset is eigenlijk al vanaf het begin van het Power BI tijdperk beschikbaar. In een dataset kan data uit verschillende bronnen worden ingeladen. Data kan rechtstreeks vanuit de bron worden ingeladen of er kan ook data vanuit een dataflow of vanuit SSAS worden ingeladen. Op deze data kunnen dan transformaties gedaan worden. Binnen de dataset kan dan het model gemaakt worden. De modellering is eigenlijk de fase waarin de verschillende ontsloten tabellen aan elkaar worden gekoppeld. Met een Power BI Dataset kan je dus alle verschillende fases doorlopen. 

SQL Server Analysis Services

Met SQL Server Analysis Services is juist bedoeld om te modelleren. Hiermee kunnen dus ook alle verschillende fases doorlopen worden. SSAS kan on-premise gedraaid worden of tevens ook als service in azure worden afgenomen. 

Verschil Dataflow en Dataset?

Met Dataflow kan geen data worden gemodelleerd. Daar is altijd een Dataset voor nodig. Met een Dataflow en Dataset kan data ontsloten worden, dus waarom zou er gekozen worden voor een dataflow ipv dataset? Een aantal voordelen van het gebruik van een Dataflow is:

  • Hergebruik van entities in verschillende datasets. Tabellen kunnen hergebruikt worden. Transformaties hoeven dan maar 1 keer gedaan te worden en de data is dan in alle datasets hetzelfde
  • Incrementeel laden van de data. Grote tabellen kunnen incrementeel worden ingeladen. 
  • Performance. Door het verleggen van de logica naar een dataflow kan deze online worden bewerkt. Alle data hoeft dus niet meer in Power BI te worden ingeladen. Dit is met grote datasets soms problematisch

Waarom SSAS

Er zijn ook een aantal redenen waarom er gewoon voor SSAS gekozen zal worden als tool om te modelleren.

  Dataflow/Dataset SSAS Opmerkingen
Self-Service ++ - Het modelleren van data is toegankelijker binnen de dataset, omdat deze interface hetzelfde is als Power BI
Row-level security - ++ Dit is binnen SSAS centraal in te regelen en moet anders per dataset worden ingeregeld
Version Management - ++ SSAS / Visual Studio is er voor gemaakt. Binnen power BI kan dit tot op heden nog niet
Debug/Performance - ++ SSAS heeft veel mogelijkheden en functionaliteit om de performance te optimaliseren en onderzoeken. Dit is bij Dataflows nog erg beperkt en niet inzichtelijk
Partitionering -- ++ Buiten het wel of niet incrementeel laden van een dataflow (op datumveld) zijn er geen mogelijkheden voor bijvoorbeeld partitionering van de data
Perspectives + ++ De mogelijkheid voor het gebruik van perspectieven is op dit moment nog beperkt binnen datasets
Browser-based ++ -- Er is geen extra tooling nodig voor het ontwikkelen van Dataflows/Datasets
Scalability + + Afhankelijk van de gekozen SSAS architectuur kan in beide gevallen makkelijk opgeschaald worden

Conclusie

Voor iedere organisatie moet natuurlijk een weloverwogen keus worden gemaakt wat de best passende BI architectuur is. Op dit moment heeft SSAS nog veel functionaliteit en mogelijkheden welke bij dataflows/datasets nog ontbreekt of niet toereikend is. Toch kan, afhankelijk van de organisatie, de inzet van dataflows en datasets een goede BI architectuur vormen. 

Ensior B.V. 2024 All rights reserved