Calculation Groups zijn nu ook beschikbaar in Power BI Desktop, wat kun je er mee?
In deze blog kijken we nog een keer naar Calculation Groups, in de nieuwste versie van Power BI Desktop is het nu mogelijk om Calculation groups aan te passen. Voorheen had je daarvoor een externe tool nodig zoals tabular editor. In een eerdere Powerdobs blog schreef Nicky van Vroenhoven al een keer over de belangrijkste toepassingen van calculation groups. Dit keer laten we zien hoe je met calculation groups kunt werken in Power BI Desktop. Daarna gaan we in op typische scenario’s waarvoor je calculation groups kunt gebruiken. We kijken naar een een time intelligence scenario en naar een dynamisch formatting scenario die je kunt toepassen op KPI’s.
Hoe maak je een Calculation Group in Power BI Desktop
In Power BI Desktop opties vind je onder preview features de optie ‘Model explorer and Calculation group authoring’. Als je de preview optie inschakelt dan kun je in Desktop met calculation groups werken. In Power BI Desktop is nu een nieuwe ‘Calculation group’ knop verschenen naast ‘New table’. We kunnen nu dus aan de slag!
Nadat je op deze knop klikt zie je dat aan de rechterkant, in de nieuwe model explorer view, een nieuwe calculation group is ontstaan. De calculation group heeft ook meteen een kolomnaam en een eerste calculation item.
In de eigenschappen van de calculation item is de optie aanwezig om Dynamic formatting aan te zetten. Wanneer je dat doet dan is het mogelijk om dynamisch de formatting aan te passen.
Later in de blog laat ik een voorbeeld daarvan zien. Bovenaan het scherm in de DAX formule bar kun je de DAX zien voor het 1:1 doorgeven van de measure. Daarnaast zie je de optie om te wisselen tussen het aanpassen van de item en van het format.
Nadat je een aantal calculation items hebt aangemaakt kun je deze gebruiken alsof het een dimensie tabel is, je kunt filters in measures maken, je kunt het gebruiken als een slicer, of als een header in een tabel.
Hoe werkt een Calculation Group met Time Intelligence?
Een calculation group wordt in veel gevallen gebruikt voor Time Intelligence scenario’s. Vaak hebben gebruikers de wens om op verschillende manieren naar een measure te kijken, denk bijvoorbeeld aan year-to-date, quarter-to-date of groei %.
Een ander scenario waarbij calculation groups uitkomst kunnen bieden is bijvoorbeeld als measures voorraadstanden bevatten. Normaal gesproken moet je er dan met aggregaties voor zorgen dat dubbeltellingen vermeden worden. Met behulp van calculation groups kun je de keuze maken om de stand aan het begin van de periode, het einde van de periode of een gemiddelde stand over de gehele periode te zien. Voor ieder scenario dat je beschikbaar wilt maken, maak je een calculation item, In de model view zie je dan het volgende:
In de report view kun je de calculation group vinden aan de rechterkant in de data tab. In de data tab ziet de calculation group er uit als een tabel en “Time Intelligence” als een kolom in de tabel. Je kunt deze gebruiken in een visual, in een slicer of in een DAX formule.
In de model view kun je meerdere calculation items aan een calculation group toevoegen. Ieder calculation item refereert aan de measure met SELECTEDMEASURE(). Verder kun je met DAX werken om het resultaat aan te passen. In een time intelligence scenario wil je bijvoorbeeld een YTD cumulatief resultaat kunnen tonen in plaats van de Sales in de maand. Het calculation item voor YTD moet dan de standaard measure oppakken en de context wijzigen zodat het in de maand de som van januari tot en met die maand toont.
De SELECTEDMEASURE() is een referentie naar de measure die in de visual gebruikt wordt. In deze formule wordt de context daarvan veranderd met behulp van CALCULATE en de DATESYTD filter. Daardoor zal de measure niet meer alleen in de periode tonen, maar cumulatief in het jaar tot en met die periode.
Hoe werkt een Calculation Group met Dynamic Formatting?
Een andere mogelijkheid om calculation groups te gebruiken is om een bepaalde formatting van kengetallen af te dwingen. Bijvoorbeeld als je een rapport hebt met KPI’s en je wilt dat ze allemaal op 3 cijfers precies zijn ( dus 100, 10.0 of 1.00). Je kunt met dynamic formatting iedere measure afzonderlijk aanpassen. Maar je kunt het ook dynamisch centraal afhandelen. Vooral bij een ingewikkelde formule wil je het zo centraal mogelijk beheren. Het wijzigen hiervan levert dan niet te veel zoekwerk op. In het voorbeeld hieronder hebben we een aantal KPI’s van verschillende orde van grootte die na het selecteren van de calculation item in de slicer allemaal worden afgerond op “3 significant digits”. Door een pagina filter op dit calculation item toe te passen kun je er voor zorgen dat alle KPI’s dit format hanteren. Denk er wel aan dat de formatting van de visuals zelf deze regel kunnen overschrijven op basis van hun format configuratie. Hieronder zie je een voorbeeld van eerst KPI’s zonder format, en vervolgens waar een format calculation item is toegepast.
In de formule hieronder zie je dat je een formule kunt maken voor formatting. Als er nu een discussie ontstaat waarbij je toch een decimaal meer moet tonen
kun je dat eenvoudig hier aanpassen waarna alle KPI’s in het rapport zijn aangepast.
Samenvattend
In deze blog hebben we laten zien hoe je nu kunt werken met calculation groups in Power BI Desktop. Daarbij gebruikte we de typische scenario’s van time intelligence en dynamic formatting. Calculation groups waren al lange tijd beschikbaar via externe tools zoals Tabular Editor en waren verborgen in Power BI Desktop. Nu het ook in desktop aanwezig is wordt het eenvoudiger om ze te gebruiken. Daarnaast zie je ook dat de dataset nu “semantic model” heet, een indicatie dat we op dit gebied nog wel meer mogen verwachten. Kijk ook op de officiële blog voor meer informatie:
Probeer de calculation groups uit, als je over calculation groups of Power BI in het algemeen vragen hebt, neem contact op. Het is altijd leuk om over de nieuwe mogelijkheden in Power BI kennis en ervaring uit te wisselen.