Van Excel naar Power BI: genormaliseerde tabellen gebruiken (1)

Deze blog gaat helemaal over het bereiken van een andere mindset als je zakelijke tools wilt veranderen. Als je voorheen met Excel werkte en de weg van Self-Service Power BI wilt inslaan, moet je op een andere manier met data omgaan. Deze blog gaat over het verschil tussen het ‘verlies’-formaat dat Excel toestaat en de […]

Deze blog gaat helemaal over het bereiken van een andere mindset als je zakelijke tools wilt veranderen. Als je voorheen met Excel werkte en de weg van Self-Service Power BI wilt inslaan, moet je op een andere manier met data omgaan. Deze blog gaat over het verschil tussen het ‘verlies’-formaat dat Excel toestaat en de meer rigide set genormaliseerde tabellen waarmee je wilt werken in Power BI.

Het verschil tussen Excel als rekenprogramma en Power BI als relationeel tabelprogramma is onmiskenbaar groot. In Excel ben je gefocust op (een berekening in) één cel, terwijl het werken in Power BI het denken in (filteren) kolommen en tabellen vereist. Een ander groot verschil zit in de manier waarop gegevensinvoer werkt. In Excel ben je vrij om in elke cel inhoud toe te voegen en te wijzigen, terwijl het transformeren van gegevens in Power BI alleen mogelijk is in Power Query, opnieuw op basis van het transformeren van kolommen en tabellen.

Hoe werkt Power BI tussen tabellen? Laten we eens kijken naar een klein voorbeeld. U kunt twee feitentabellen zien, genaamd Voorraad en Verkoop, en deze zijn gerelateerd aan één filter- (of dimensie)tabel, genaamd Producten.

En daarmee kan ik zowel inzicht creëren in mijn verkopen als in mijn voorraden.

Maar laten we eens wat dichter bij de tafels kijken. Als je naar het filter en de feitentabellen kijkt, wordt de relatie tot stand gebracht door kolommen met tekstwaarden.

Dat is vrij ongebruikelijk bij relatiedatabases. Omdat relaties in een relationele database worden bevorderd door beperkingen, worden deze relaties gemaakt tussen kolommen die hele getallen bevatten. Bij Power BI is dat niet het geval. Ik weet niet hoe relaties in Power BI werken, ik weet wel dat het werkt met vrijwel elk datatype tussen kolommen in je Datamodel. En zelfs kolommen met verschillende gegevenstypen kunnen aan elkaar gerelateerd zijn!

Maar dit is niet het scenario waar u de voorkeur aan geeft. Relaties in Power BI moeten gebaseerd zijn op kolommen met het gegevenstype geheel getal. Dus in plaats van tekstwaarden in het bovenstaande voorbeeld wilt u een relatie tussen genormaliseerde tabellen gebruiken. Het voorkeursrelatieschema ziet er dus als volgt uit. Merk op dat de relatie tot stand is gebracht met kolommen, die gehele getalswaarden bevatten.

In een filtertabel is de waarde in de relationele kolom doorgaans uniek, terwijl deze waarde in de gerelateerde feitentabel meerdere malen aanwezig kan zijn; vandaar de “1 op veel”-relatie.

Als u de tekstkolom in de feitentabellen van de “grote jongens” verwijdert, zal de compressie veel beter zijn, waardoor uw model wordt vastgezet. De andere reden zou zijn dat typefouten niet zo problematisch zijn: het zijn niet de tekst, maar de cijfers die de relatie in stand houden. Hé, ik weet het, dit is nogal willekeurig, maar laten we het praktisch houden.

Dus voordat u er zelfs maar aan denkt om van Excel naar Power BI over te stappen, moet u de “verloren” gegevenssets met alle gegevens in één Excel-bestand wijzigen in een reeks verschillende opgeslagen genormaliseerde tabellen. Het grootste pluspunt is het hebben van een set onafhankelijke tabellen, die in elk Power BI-model kunnen worden gebruikt, in plaats van dat je voor elk Excel-model steeds opnieuw nieuwe sets hoeft te maken.

Maar hoe kunt u genormaliseerde tabellen verkrijgen? Als u tabellen uit relationele databases kunt ophalen, bent u meestal goed bezig. Maar wat gebeurt er als je twee verschillende brondatabases hebt die profiteren van de feitentabellen? Als u een Enterprise Data Warehouse heeft, bent u weer klaar om te gaan, omdat de EDHW de genormaliseerde tabellen levert. Maar beschikt u niet over deze luxe optie? Dan moet u uw eigen set genormaliseerde filtertabellen maken!

In mijn volgende blogs wil ik bespreken hoe je eenvoudige filtertabellen kunt maken, gebaseerd op verschillende feitentabellen. Een andere blog zal worden besteed aan het opslaan van de filtertabellen.

2024. Quanto B.V.