Blog

Level of detail expressions {Tableau}

Joerie heeft in de afgelopen zes jaar ervaring op kunnen doen met diverse front-end tools, waaronder Microstrategy, Oracle OBIEE, PowerBI en Tableau. Ook heeft hij geleerd dat elke tool zijn voor-, nadelen en trucjes heeft, die je maar nét even moet weten.

Een van de tools waar Joerie de afgelopen tijd veel mee werkt is Tableau. Hij heeft gemerkt dat er nog wat vragen zijn over Tableau’s Level of Detail expressions, hierna LOD te noemen.

Vooral voor de mensen die hier net mee gaan werken. Hij laat in deze blog zien hoe je hiermee werkt.

Na de blog nog vragen? Neem dan even contact met ons op via Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.en wij helpen je graag verder.

De onderwerpen die in deze blog aan bod komen zijn:

  1. Granulariteit vs. Aggregatie
  2. Include: het toevoegen van een extra dimension
  3. Exclude: het uitsluiten van een dimension
  4. Fixed: alleen aggregeren op basis van de aangegeven dimensie
  5. Filters & LOD order of operations: de plek van de dimensions in de in de order of operations.

1. GRANULARITEIT vs. AGGREGATIE

Wanneer je een dimension of measure in Tableau naar het canvas sleept, worden de meassures geaggregeerd tot de dimension(s) die beschikbaar is/zijn op de view. Denk bijvoorbeeld aan de omzet per regio.
Het toevoegen van extra dimensions, bijvoorbeeld productgroep, zorgt ervoor dat er meer gedetailleerde gegevens getoond worden in de visualisatie. Je spreekt dan over een hogere granulariteit. Aggregatie en granulariteit werken dus in tegenstelling tot elkaar.
Uiteindelijk zal je de row-level van je data bereiken, wanneer je alle dimensions toevoegt aan de visualisatie.


Onderstaande afbeelding laat deze tegenstelling nog eens zien.

 

NB: Voorbeelden van de drie zijn uitgewerkt op basis van de Superstore dataset die meegeleverd wordt met Tableau Desktop en een geanonimiseerde set van een praktijkvoorbeeld.

Met LOD expressions is het mogelijk om een measure te gebruiken onafhankelijk van de dimension(s) in de view.  Tableau kent drie smaken, te weten;

  • Include   Voeg een extra dimension(s) toe
  • Exclude   Minus de aangegeven dimension(s)
  • Fixed      Aggregeer alleen op basis van de aangegeven dimension(s)

De syntax voor de formule;

  1. Openen met een curly bracket “{“
  2. EXCLUDE, INCLUDE of FIXED
  3. De dimensions waarover de LOD expression moet werken
  4. Eindig met een dubbele punt “:”
  5. Vervolgens de aggregatieformule, denk aan SUM(), AVG(), MIN(), MAX(), FIRST(), LAST()
  6. Sluit weer af met een curly bracket “}”.

2. INCLUDE

Zoals de naam al aangeeft wordt deze gebruikt om een extra dimensie toe te voegen aan de measure. Include zorgt ervoor dat aggregaties berekend worden op basis van alle dimensions beschikbaar in de view, inclusief de aangegeven dimension in de expression (niet beschikbaar op de view). Deze expression wordt gebruikt wanneer het gewenst is om op een hogere granulariteit te rapporteren.

Als voorbeeld tonen we de gemiddelde sales per klant verdeeld over de verschillende segmenten in de organisatie. De formule die toegepast wordt ziet er als volgt uit:

Hiermee zeggen we dus eigenlijk, bereken de gemiddelde sales waarde, maar wel op basis van de opgetelde sales per klant. In Tableau ziet het er zo uit:

Hetzelfde resultaat is overigens ook te behalen door onderstaande formule te gebruiken;

3. EXCLUDE

Exclude werkt weer precies andersom; aggregeer de measure, maar doe dit niet op basis van dimension. Dit komt in mijn geval goed van pas gezien ik voor een organisatie werk met diverse dochterondernemingen. Als er dan gerapporteerd moet worden op een totaalniveau voor de gehele holding, kan je dat eenvoudig bereiken met een Exclude functie. Onderstaande grafiek geeft percentuele veranderingen (Y) over tijd (X). De kleuren zijn de verschillende subcompanies.

De holding heeft de behoefte om in dezelfde visualisaties te zien wat de veranderingen zijn. Weergegeven bovenin de grafiek. Dit is relatief eenvoudig te realiseren met een Exclude LOD. Hiervoor gebruiken we deze formule:

Deze measure voor holding totaal heb ik op dezelfde grafiek geplot middels een dual axis.

Dit ziet er nog niet netjes uit, het wordt immers niet mooi bovenin de grafiek getekend.

Om ervoor te zorgen dat deze getekend wordt op een constante hoogte in de grafiek heb ik een dummy measure gemaakt met een constante waarde van ’97.5’ (op een schaal van 0-100).
Deze dummy waarde is onderdeel van de dual axis. De dummy measure wordt onderdeel van de dual axis, met een eigen schaal. Door de constante waarde van 97.5, wordt de measure netjes getekend bovenaan de grafiek.

Je wilt natuurlijk niet een constante waarde tonen in de grafiek, daarom verander ik de mark in de visualisatie naar een tekstlabel. Gebruik hier de Exclude LOD en je zult zien dat de waardes netjes geplot worden op de plek van de constante 97,5.

Dit is wederom een trucje om de visualisatie dusdanig te maken om het gewenste resultaat te behalen. Het eindresultaat ziet er als volgt uit.

4. FIXED

Zoals de naam al doet vermoeden zorgt deze functie ervoor dat de aggregatie alleen gebeurd op basis van de aangegeven dimensie. Er wordt geen rekening gehouden met de beschikbare dimensies op de visualisatie. Om goed weer te geven wat er gebeurt laat ik de data bewust zien in een matrix. De formule die toegepast wordt:

In de visualisatie laten we de sales zien per state en region, en vervolgens het percentage van de state voor het region totaal. 

5. FILTERS & LOD order of operations

Tableau kent zijn eigen order of operations als het op het toepassen van filters aankomt.
In dit artikel leest u daar meer over. De LOD expressions hebben een eigen plek in de order of operations. Dit kan soms voor verwarring zorgen en onverwachte resultaten. Houdt daar dus rekening mee.

 

Heeft u behoefte aan training in Tableau, PowerBI of Pyramid Analytics? Onze consultants kunnen u helpen met een om maat gemaakt programma! Bel ons via +31 36 358 7292 of laat uw gegevens achter via:

Door: Joerie Brugts – Business Intelligence consultant bij Conspect – 13 maart 2020