Vanaf de eerste dag dat ik met Tableau werk ben ik al onder de indruk van de fantastische en gemakkelijke manier waarmee Tableau mij in staat stelt om mijn data te analyseren en visualiseren. Nu, 3 jaar later, begrijp ik veel meer van de onderliggende concepten en geavanceerde features van Tableau waardoor ik de tool nog beter kan gebruiken. Wanneer ik 3 jaar terug in de tijd zou kunnen gaan en mijzelf 5 dingen zou kunnen leren over Tableau dan zou ik mijzelf het volgende leren:
Groen vs Blauw
Groene data velden zijn ononderbroken en blauwe datavelden zijn discreet. Afhankelijk van het type welke je in je visualisatie gebruikt reageert Tableau anders. Ik zal niet te diep op dit concept ingaan, want er is al een geweldig blogartikel wat deze verschillen uitgebreid uitlegt, maar het is de moeite waard om te melden dat groene data velden assen, kleur gradients en range filters genereren. Blauwe data velden creëren labels, multi select filters en gecategoriseerde kleuren. Het verschil tussen deze twee type velden ligt zo aan de basis hoe Tableau data op het scherm toont dat ik je aanbeveel om het hierboven genoemde artikel nog 3 keer te lezen indien je het concept nog niet geheel onder de knie hebt.
Partitioneren en adresseren
Table calculations zijn een van de meest krachtige tools binnen Tableau, maar ook een van de meest complexe om te begrijpen. Toen ik Table calculations pas net gebruikte probeerde ik in de meeste gevallen maar wat uit, in de hoop dat ik het juiste resultaat kreeg. Door de onderliggende theorie te leren, en dan specifiek wat Tableau bedoelt met partitioneren en adresseren (partitioning and addressing), heeft mij geholpen om het wie, wat, waar, hoe en waarom van Table calculations beter te begrijpen.
De handleiding van Tableau zegt het volgende:
“The addressing fields define what part of the table you are computing along. The partitioning fields define how to group the calculation”
Voor mij was dit niet de meeste heldere beschrijving. Laten we proberen om dit proberen te vertalen naar het Nederlands zodat we het kunnen toepassen op een Table calculation binnen Tableau. Wanneer de partitioning fields ‘group the calculation’ dan zouden we kunnen zeggen dat we de berekening ‘per klant’, ‘per product’ of ‘per category’ etc… willen zien.
De ‘addressing fields’ zijn de velden welke gebruikt worden in de berekening welke je uitvoert. Dit zouden we kunnen interpreteren als ‘bereken % van het totaal voor iedere categorie’.
Wanneer je deze twee delen samenvoegt krijg je een zin als: Per regio, bereken het percentage van het totaal voor iedere categorie. Deze zin helpt me om mijn table calculation correct op te zetten.
Let op! Wanneer je de menu optie “Compute using >” gebruikt wordt de selectie in het addressing field (voor iedere) gezet en alle overige velden in het partitioning field.
Wanneer je meer over Table calculations wil weten lees dan zeker de blogposts “Making Table calculations work in Tableau” en “Addressing and Partitioning”
Tableau schrijft een query wanneer je drag en dropt
Tableau is behoorlijk slimme software met verschillende baanbrekende technologieën welke je in staat stelt om snel complexe visualisaties op enorme databronnen uit te voeren met een simpele drag en drop interface. Onder de motorkap praat Tableau met je data in een variant op SQL (Structured Query Language) en verwerkt deze data door middel van een interpreter naar de resultaten op je scherm. Door te weten wat er onder de motorkap gebeurt kun je Tableau op de meest efficiënte en elegante manier inzetten. Wanneer ik een dimensie op “rows” zet en een measure op “label” schrijft Tableau onderliggend de volgende SQL statement:
SELECT Region, Sum(Sales) FROM Orders GROUP BY Region
Door een dimensie als filter toe te voegen wordt er een WHERE clausule toegevoegd. Wanneer je sorteert wordt er een ORDER BY toegevoegd. Waarom is dit belangrijk? Nou, wanneer ik vastloop en ik niet meer weet welke velden ik moet gebruiken en hoe ik ze moet configureren stel ik mezelf de vraag: Hoe zou ik dit doen zonder Tableau? In andere woorden: welke stappen moet ik nemen om het gewenste resultaat uit een database of spreadsheet te krijgen? Door op deze manier naar een probleem te kijken heb ik vaak de missende schakel gevonden om het probleem binnen Tableau te kunnen oplossen.
Uiteraard kun je ook een Tableau expert worden zonder kennis van databases en SQL, maar indien je al enigszins een data analyse achtergrond hebt kan dit absoluut helpen in het versnellen van je tableau kennis. Bekijk het log.txt in je Tableau repository om te zien wat er onder de motorkap gebeurt.
Volgorde van uitvoering
Het lijkt alsof Tableau alle berekeningen tegelijk uitvoert wanneer je velden of een filter toevoegt aan je visualisatie of een custom calculatie uitvoert. In werkelijkheid worden zaken in een specifieke volgorde uitgevoerd. Door hier rekening mee te houden tijdens het bouwen van je visualisatie kun je de resultaten krijgen welke je nodig hebt.
Tableau verwerkt zaken in onderstaande volgorde:
- Context filters maken een tijdelijke tabel in je bron
- Top N en/of conditionele filters maken onderdeel uit van de SELECT statement in de query
- Standaard filters worden toegepast als een WHERE clause
- Aggregations worden berekend
- Table calculations worden toegepast
- Table layout en assen worden getekend
- Alles wat op Pages staat wordt meegenomen
- Items worden getekend
Doordat ik weet dat een standaard filter na een Top N filter komt, maar voor een Table calculation kan ik me redden uit situaties zoals deze: % of total figure is not working.
INDEX en gerelateerde functies
Hoewel ik alle beschikbare functies in Tableau doorgenomen had om een ervaren Tableau gebruiker te worden en de functies INDEX, FIRST en LAST gezien had, gebruikte ik deze functies tot vrij recent nauwelijks. Nu ik beter weet wat ze doen gebruik ik ze constant om mijn doelen te bereiken.
INDEX creëert een ranking waarbij de volgorde geheel flexibel bepaald kan worden op basis van de volgorde op je scherm of een geheel andere measure waardoor je kunt sorteren, filteren en je data kunt weergeven op manieren welke voorheen niet mogelijk waren.
Hier zijn een aantal voorbeelden welke laten zien waar je deze functies voor kunt gebruiken
Create rankings within different categories
Prevent overlapping text when using a TOTAL or other table calculation
Dat was het! Een hoop informatie, maar ik denk dat mijn jongere ik deze tips absoluut kon waarderen. Hoe zit dat bij jou? Was er een Tableau “Eureka” moment? Deel het via een reactie hier onder of neem contact met ons op via info@theinformationlab.nl
Deze blogpost van Robin Kennedy verscheen origineel op het blog van The Information Lab UK op 28/01/2013 en is vertaald door Martijn Verstrepen.