Home / Nieuws / Hoe maak je een Gantt diagram met DAX in Power BI
18 augustus 2021
Door: Else Frijling

Hoe maak je een Gantt diagram met DAX in Power BI

Featured image of a blog about a creative solution for our customers needs

Zo maak je een Gantt-diagram met de standaard Power BI Matrix

Gantt-diagrammen worden vaak gebruikt in projectmanagement. Ze tonen in een oogopslag de activiteiten en de duur ervan. De activiteiten worden weergegeven als een balk tegen een horizontale tijdlijn. Elk project en elk bedrijf is anders, zo ook de eisen die zakelijke gebruikers stellen aan een Gantt-diagram.

Power BI heeft geen standaard Gantt-diagram, maar de AppSource biedt genoeg. Hier vind je meerdere kant-en-klare opties, gemaakt door andere partijen. Elke visualisatie uit de AppSource heeft extra functionaliteiten, waarvan de een uitgebreider zijn dan de andere. Afhankelijk van je doel kun je beslissen welke grafiek bij jouw business case past.

Onze klant had een paar specifieke verzoeken waar hun ideale Gantt-diagram aan moest voldoen:

  • Toon een hiërarchie van projecten en onderliggende activiteiten
  • Toon de duur van de activiteiten
  • Toon meer dan 1 mijlpaal op de tijdlijn van de activiteit
  • Toon de status deze mijlpalen

Helaas voldeed geen van de Gantt-diagrammen uit de Appsource aan deze ogenschijnlijk eenvoudige vereisten. Daarom maakten we onze eigen grafiek met de standaard Power BI Matrix en DAX.

 

The business case

Onze klant wist precies waar hun ideale diagram aan moest voldoen. In een oogopslag willen ze in hun Power BI rapport een overzicht hebben van de status van alle activiteiten en bijbehorende mijlpalen. Zodat ze snel en gericht actie kunnen ondernemen waar nodig.

Elk project heeft meerdere activiteiten en elke activiteit heeft 1 of meer een opleveringsdata, ook wel mijlpalen genoemd. Dit bijvoorbeeld een opleveringsdatum zijn voor een assessment, een controle of een rapport. De zoektocht naar de juiste Gantt-diagram begon met de volgende vragen:


Klant: “Kunnen we laten zien wanneer de activiteiten beginnen en eindigen, gegroepeerd per hoofdproject?”

BI Consultant: “Ja, dat is geen probleem, de meeste Gantt-diagrammen bieden deze basisfunctionaliteit.”

Klant: “Onze activiteiten kunnen meerdere deadlines hebben en het aantal beoordelingen kan per activiteit verschillen. Kunnen we deze data als mijlpalen voor elke activiteit op de tijdlijn toevoegen?”

BI Consultant: “Sommige Gantt-diagrammen bieden de mogelijkheid om mijlpalen toe te voegen, maar dat verschilt per visualisatie. Als je meer dan 1 mijlpaal wilt laten zien per activiteit, wordt het al lastig.

Klant: “Als we 1 of meer mijlpalen kunnen weergeven, kunnen we hiervan dan ook de status laten zien?”

BI Consultant: “Deze wens is erg specifiek voor jullie situatie. Ik denk niet dat het mogelijk is om met de beschikbare diagrammen mijlpalen te formateren op basis van bijvoorbeeld status-informatie. Ik zal onderzoeken of dat mogelijk is en anders een oplossing zoeken.”


 

Gantt vergelijking

Van de Gantt-diagrammen die beschikbaar zijn in de AppSource, kunnen er slechts twee mijlpalen en hiërarchieën weergeven: Gantt 2.2.3 en Gantt Chart – xViz. Toch voldoen beiden niet volledig aan de eisen van onze klant.

Naam Mijlpaal 1 veld Mijlpaal 1+ velden Hiërarchie Licentie nodig
Acterys Gantt v1.1.1 x
ADWISE Roadmap v2.0.3 x x
Craydec Timelines x
Gantt 2.2.3 x x
Gantt Chart – xViz x x x
Gantt chart by Lingaro x
Gantt chart by MAQ Software x

*Mijlpaal 1 veld: dit betekent dat je maar 1 kolom kunt selecteren voor de mijlpaal, dus 1 mijlpaal per activiteit
** Mijlpaal 1+ velden: dit betekent dat je meer dan 1 veld kunt selecteren, dus meerdere mijlpalen per activiteit

Gantt 2.2.3 is een van de grafieken die we vaker gebruiken, want deze is eenvoudig in design en voldoet aan de meeste basisvereisten. Je kunt mijlpalen toevoegen, maar helaas kun je slechts 1 veld selecteren. Als je meerdere mijlpalen per activiteit wilt laten zien (met een datamodel zoals het onze – zie deel 2), dan maakt dat extra regels per activiteit aan. Dat willen we niet.

Gantt Chart xViz was uiteindelijk een van de beste opties, want hiermee kunnen we hiërarchieën en meerdere mijlpalen laten zien. Ondanks deze goede punten hebben we hierbij een ander probleem. Onze activiteiten kunnen meerdere mijlpalen hebben en het aantal kan per activiteit verschillen. Het aantal benodigde kolomvelden kan daarom per activiteit anders zijn. Wat het onmogelijk te managen maakt in het datamodel. Bovendien, als je de gratis versie in de Online Service gebruikt en het rapport deelt, wordt er een banner weergegeven die jouw weergave blokkeert. Een betaalde licentie om de banner te verwijderen en alle betaalde functionaliteiten te ontgrendelen zou een aanzienlijk bedrag gaan kosten.

Hoewel de xViz-visual rijk is aan mogelijkheden, zouden we voor ons specifieke gebruik slechts een fractie van de totale mogelijkheden gebruiken. De investering was het niet waard.

 

Pricing – xViz – Advanced Visuals for Power BI

 

Een op maat gemaakte Gantt-diagram

Bij Dynamic People gaan we graag een stap verder om de beste oplossing voor onze klanten te bieden. Door creatief te denken konden we aan de eisen van onze klanten voldoen met de standaard Power BI Matrix visualisatie en DAX.

In de ideale Gantt-diagram van onze klant willen we in één oogopslag kunnen zien: welke mijlpalen zijn voltooid, geannuleerd of in behandeling, en op welke mijlpaal we ons als eerste moeten concentreren (de eerstvolgende deadline).

Door slim gebruik te maken van “conditional formatting” kunnen we een Gantt – diagram simuleren en de status van de mijlpalen visualiseren met icoontjes: een groen vinkje voor voltooid, een rood kruis voor geannuleerd, een gele vlag voor in behandeling en een uitroepteken voor de eerstvolgende deadline.

Het gewenste resultaat wordt bereikt door voor elke regel (activiteit) en kolom (datum) een ​​numerieke code aan te maken. De numerieke code geeft aan of de activiteit actief was op dat moment en of er binnen de geselecteerde tijd een mijlpaal te behalen was.

Elke mijlpaal heeft een statusveld met een van de volgende vier waarden: voltooid, geannuleerd, in afwachting van rapport of in uitvoering. Met DAX hebben we een berekening gemaakt die al deze waarden codeert met een getal. Zie voor de exacte DAX-measure deel 2.

Vanwege de complexe berekening om alle numerieke waarden in de grafiek te berekenen is de laadtijd van onze op maat gemaakte diagram langer dan de kant-en-klare diagrammen uit de AppSource. De laadtijd is sterk afhankelijk van de hoeveelheid data. Door single-select filters toe te voegen aan de pagina wordt de hoeveelheid data en daarmee de laadtijd geminimaliseerd. Het is echter iets waar onze klant rekening mee kan houden bij het maken van de uiteindelijke keuze.

 

Het resultaat

Onze Gantt-diagram voldeed aan alle eisen van de klant en ze kozen voor onze oplossing op maat. Elk van de kant-en-klare diagrammen zou een afweging zijn geweest tussen de vereisten, wat zwaarder woog dan de afweging in laadtijd. Blije klant, blije consultant 🙂

 

Meer info?

Heb je specifieke wensen voor jouw Gantt Chart? Laat het ons weten, we denken graag met je mee!