Sassenheim, 27 augustus 2018

Stel je hebt verbruiksgegevens per uur in je feit tabel zitten. Aan deze feit heb je een datum en een tijd dimensie. Je hebt ze apart gemodelleerd omdat een datum dimensie 365 (366) records per jaar heeft en een tijd dimensie 86400 records per dag dus als je ze combineerd heb je 365×86400 records per jaar en dat is erg veel en waarschijnlijk overbodig. Toch wil je een combinatie van beide hebben omdat je een grafiek wilt maken met op de X-as de datum en de tijd.

Er zijn verschillende manieren om dit te doen in power BI. Echter heeft niet elke manier het gewenste effect.

 

Nieuwe DatumTijd dimensie

Je kunt toch een nieuwe dimensie creeren waarin datum en tijd gecombineerd zijn. Dit kan echter een hele grote dimensie worden die de rapportage kan vertragen. Een dimensie is ook bedoeld om een rapport te kunnen filteren en dat is in dit geval niet nodig. We willen de datum en tijd alleen gebruiken als presentatie gegeven. Het maken van een aparte dimensie is daarom niet aan te raden.

 

Datum en tijd los in X-as

Je kunt de datum en de tijd beide afzonderlijk in de visual slepen. Middels de drill down knop in de header kun je tot het niveau van de tijd inzoomen in de grafiek. Alleen ontstaat er nu een scroll balk als er te veel gegevens tegelijk getoond worden, in dit geval 3 dagen. De reden is dat Power BI de as niet herkent als een gecombineerde datum en tijd as, maar als een stapeling van categorieen. Hij kan dus niet gebruik maken van de ingebouwde datum intelligentie.

 

DatumTijd kolom in feit middels Power Query

Een andere optie is om in Power Query een nieuwe kolom toe te voegen aan de feit tabel waarin de datum en tijd gecombineerd zitten. Daartoe wordt de datum uit de datumdimensie overgenomen en de tijd uit de tijddimensie om deze vervolgens te combineren. Dit werkt goed en ook in de grafiek wordt de X-as nu als datum gezien en worden alle datapunten getoond ongeacht de filters.

 

DatumTijd Kolom in feit middels DAX

Als laatste en beste optie kun je de datum en de tijd uit de dimensies overhalen naar de feit tabel middels DAX. De functie RELATED stelt je in staat uit een gerelateerde tabel gegevens over te nemen. Als je zowel datum als tijd over neem en deze combineert in een kolom worden deze waarden beschikbaar om te gebruiken in de X-as net als in de vorige optie. Alleen nu zonder integratiestappen te hoeven zetten in Power Query.

DatumTijd = FORMAT(RELATED(DimDatum[Datum]) & ” ” & RELATED(DimTijd[Tijd]); “MM-DD-YYYY hh:mm:ss”)