4. Calculated Fields

40%

6

Opdrachten

Medium

Skill Level

20 min

Duur

Schrijf je in voor onze Nieuwsbrief

Introductie

Calculated Fields zijn een krachtige manier om gegevens te gebruiken en te analyseren in Tableau Desktop. Je kunt het vergelijken met een berekening die je in Excel kunt maken, maar dan nog veel uitgebreider: je creëert namelijk steeds een nieuwe kolom. In deze sectie van de gratis training leer je hoe je Calculated Fields kunt maken en gebruiken. We leren in deze sectie ook hoe je Calculated Fields kunt gebruiken om geavanceerde analyses uit te voeren.

In deze les leer je

Calculated Fields maken

Calculated Fields zijn velden (kolommen in de tabel dus) die zijn gemaakt op basis van andere velden in de data. Door Calculated Fields te maken, kun je gegevens manipuleren en nieuwe dimensions of measures creëren die niet direct beschikbaar zijn in de data.

Om een Calculated Field te maken in Tableau Desktop, selecteer je de optie ‘Create Calculated Field’ in het menu bij het pijltje in het venster ‘Data Pane’. Vervolgens schrijf je een formule die de berekening uitvoert. Deze formule bevat zogenaamde functions die je in je berekening kunt gebruiken. In het volgende deel gaan we verder op deze functions.

Functions gebruiken

Tableau Desktop biedt een breed scala aan functions die je kunt gebruiken om gegevens te manipuleren en geavanceerde analyses uit te voeren. In Tableau worden ze heel handig opgedeeld in verschillende categorieën. In het veld waarin je de Calculated Fields maakt kun je een zijbalk uitklappen door op het pijltje rechts in het scherm te drukken. Rechts bovenin dit scherm zit een knop ‘All’. Door hierop te klikken zie je de verschillende categorieën. Rechts daarvan zie je vervolgens voor elke functie die je selecteert wat de functie doet, en hoe je deze kunt gebruiken. Let erop dat de syntax behoorlijk nauw komt, dus let goed op!

Deze verschillende categorieën betekenen het volgende:

Met String calculaties kun je String (=tekst) velden bewerken. Zo kun je onder andere bepaalde kolommen veranderen naar hoofdletters of juist kleine letters. Ook kun je spaties die nog per ongeluk in je data staan, verwijderen.

Hier vind je alle functies om datum velden te bewerken. Zo kun je rekenen met datumvelden. Als je bijvoorbeeld wilt weten hoeveel dagen een pakketje onderweg was. Je rekent dan het verschil uit tussen de verzenddatum en de bezorgdatum.

In sommige gevallen is het handig om het datatype van je kolom aan te passen. Als je bijvoorbeeld een datum om wilt zetten naar tekst.

Met Logical functies kun je toetsen uitvoeren op je data. Een voorbeeld hiervan is een als/dan-formule. Je toetst dan bijvoorbeeld of de winst positief is. Zodra de winst positief is kun je de kolom vullen met de tekst ‘Positief’ en de overige velden met ‘Negatief’. Dit kan handig zijn als je visualisaties wilt kleuren op basis van positieve of negatieve winst.

Zoals we hebben kunnen zien maakt Tableau van continue waarden automatisch een aggregatie, een groepering. In onze Bar Chart berekenden we bijvoorbeeld de totale winst per product, doordat Tableau de winst per item automatisch bij elkaar optelde per productgroep. SUM() is de standaard-aggregatie van Tableau, maar natuurlijk willen we naast sommeren bijvoorbeeld ook gemiddeldes of maxima kunnen berekenen. Dit zijn allemaal aggregate-functies die je in deze lijst kunt vinden.

Een aantal functies die je kunt gebruiken om berekeningen te maken met de gebruiker van het dashboard. Zo kun je bijvoorbeeld toetsen of een bepaalde gebruiker wel of niet in een team behoort en daarmee bepaalde data wel of niet mag zien in het dashboard.

Hoewel alle data die je visualiseert in een (bron)tabel staat, kun je de visualisaties die je in Tableau maakt ook vertalen naar een kleine tabel. Table Calculations laten je berekening uitvoeren op die tabel. Zo kun je bijvoorbeeld voor een bepaalde productcategorie bepalen hoeveel procent van de totale verkopen die categorie vertegenwoordigt. Tableau berekent dan eerst de Sales per Categorie, en vervolgens hoe zich dat vertaalt naar percentages.

Tableau ondersteunt ook geografische kaarten. De Spatial functies bevatten een aantal ruimtelijke berekeningen die je kunt gebruiken. Zo kun je bijvoorbeeld een buffer om een bepaald punt heen maken.

Kortom, Je kunt functies gebruiken om gegevens te filteren, te sorteren, te berekenen en te aggregeren. Hierdoor kun je inzicht krijgen in de gegevens en de trends en patronen die daarin verborgen zijn. Om te oefenen hebben we een aantal voorbeelden van Calculated Fields.

Kijk of je de SPLIT-functie kan vinden en hoe deze gebruikt kan worden binnen Tableau Desktop. Onder welke categorie staat deze?
Kijk of je de DATEDIFF functie kan vinden, onder welke categorie staat deze? En wat denk je dat de functie doet?

Profit ratio

In de Sample Superstore-bron die we gebruiken, zit al een Calculated Field. Deze kun je herkennen aan het kleine =-teken voor de kolom. Hoewel we dit veld zullen terugvinden in de oorspronkelijke brondata, kunnen we deze wel gebruiken in het dashboard. Het veld genaamd ‘Profit Ratio’, oftewel het winstpercentage. We kunnen dit berekende veld ook aanpassen en bekijken hoe de berekening gemaakt is. Voor een winstpercentage willen we de totale winst delen door de totale verkopen.

  1. Klik met de rechtermuisknop op het veld ‘Profit Ratio
  2. Kies voor de optie ‘Edit’…
  3. Het Calculated Field opent zich nu. Hier zie je de berekening met de gebruikte Functions.

Functions krijgen in de berekening een blauwe kleur. Kolommen/velden die in de berekening gebruikt worden hebben een oranje kleur. Zo kun je ze makkelijk onderscheiden. Verder zien we de functie SUM. De SUM-functie telt alle waarden van het veld dat binnen de haakjes genoemd wordt bij elkaar op. We gebruiken die functie hier eerst voor de velden zelf, omdat we de totale winst door de totale verkopen willen berekenen. Als de slechts profit/sales als formule zouden gebruiken, berekent Tableau voor iedere rij in de dataset (dus voor elke individuele verkoop) de winstratio, en telt al deze marges vervolgens bij elkaar op.  Hierdoor krijgen we een foutief resultaat. Het is dus belangrijk dat we SUM gebruiken. We delen dus de SUM van profit door de SUM van sales

Tip: met twee ‘//’ tekens, kunnen we een comment in het berekende veld zetten. Handig als collega’s later de uitleg bij een berekening willen bekijken of aanpassen.

4. Typ een comment door te beginnen met //. De tekst kleurt grijs, zo weet je dat de comment verder geen invloed heeft op de berekening.

Rekenen met tekstvelden

Zoals eerder benoemd kunnen we ook met teksten “rekenen. Dat klinkt misschien gek, maar gaan we in deze oefening verder uitleggen.

Stel dat we willen weten hoe vaak iemand met de voornaam Mark een bestelling heeft geplaatst. Dat wordt een lastige klus, omdat we in onze data alleen een naam in combinatie met een achternaam hebben. Daarom gaan we een Calculated Field maken waarin alleen de voornaam staat. We gebruiken hiervoor de functie Split.

  1. Open een nieuw Calculated Field
  2. Hernoem het Calculated Field naar ‘First Name
  3. Begin vervolgens met het typen van de Function die we willen gebruiken: SPLIT. Tableau geeft automatisch suggesties voor functies die beginnen met de letters die je in typt.
  4. Kies voor de SPLIT-functie. Rechts in je scherm zie je hoe de SPLIT-functie werkt. Als je niets ziet, klik dan op het woordje Split en eventueel op het pijltje naar rechts om het functiemenu uit te vouwen. We moeten naar een tekst-veld in de dataset verwijzen, een letter of teken kiezen waarop we de tekst willen opsplitsen, en een nummer voor welk deel van de opgesplitste tekst we willen gebruiken.
  5. Begin met de kolom die we willen splitsen, ‘Customer Name’.
  6. Typ dan een komma.
  7. Omdat we willen splitsen op basis van een spatie tussen de voor- en achternaam, typen we twee enkele aanhalingstekens met daartussen een spatie. Zo weet Tableau dat het veld gesplitst moet worden door een spatie. ‘ ‘.
  8. Typ vervolgens weer een komma.
  9. Tik vervolgens een 1. Deze 1 geeft aan dat we het 1e deel van de gesplitste tekst willen.

Je calculatie ziet er nu zo uit:

Maak nu een nieuwe worksheet aan.

    1. Hernoem deze sheet naar ‘Mark’.
    2. Dubbelklik nu je zojuist gecreëerde Calculated Field, First Name.
    3. Dubbelklik op de kolom Customer Name.
    4. Wat zie je?

Vergeet je je werk niet op te slaan? 🙂

TIJDSVerschil tussen datumWAARDEN

Laten we doorgaan met een iets moeilijker voorbeeld. We willen graag weten hoeveel dagen het duurt voor een bestelling van een klant verscheept is. Het zou een hele klus zijn om per bestelling handmatig het verschil uit te rekenen tussen de Order Date en de Shipping Date. Gelukkig kunnen we met de Calculated Fields van Tableau gemakkelijk een berekening maken om deze vraag voor alle bestellingen tegelijk te beantwoorden.

  1. Open een nieuw Calculated Field;
  2. Hernoem het veld naar ‘Days until shipping’;
  3. Begin met het typen van, en selecteer de function DateDiff. Bekijk in het menu hoe de syntax van deze functie eruit ziet; 
  4. Type dan, tussen de functiehaakjes, ‘day’ tussen aanhalingstekens. We willen namelijk het verschil hebben in dagen;
  5. Volg met een komma;
  6. Begin met het typen van, en selecteer ‘Order date’;
  7. Volg met een komma;
  8. Begin met het typen van, en selecteer ‘Ship data.

Je Calculated Field  ziet er als volgt uit:

Op een nieuwe sheet kun je de volgende kolommen gebruiken voor een visualisatie: Days until shipping op de columns shelf, en Order ID op de rows shelf. In de bar chart die ontstaat zie je per bestelling hoeveel dagen de bestelling erover heeft gedaan van bestelling tot verzending.

Tenminste, als we ervan uitgaan dat elk Order ID slechts één regel bevat.

Aangezien Tableau automatisch aggregeert met SUM, kunnen we niet zien of dit de som is van 1, 5 of 100 regels. Het is dus altijd belangrijk om in de gaten te blijven houden wat Tableau doet en wat dit voor mogelijke consequenties heeft. Er zijn verschillende manieren om de uitkomst van onze berekening te toetsen.

  1. Klik met je rechtermuisknop op Days Until Shipping en kies voor Measure > Average. Daarmee deelt Tableau de som van het aantal dagen per Order ID door het aantal regels waaruit die som bestaat.  
    óf
  2. Zorg dat Days Until Shipping als som wordt geaggregeerd. Klik met je rechtermuisknop op een van staven in je scherm van een Order ID met een erg lange bezorgtijd. Klik op View Data…. Er opent nu een pop up-venster. Als je hier nu klikt op de naam van de brontabel, zie je de hoe in de visualisatie aanwezige velden in de tabel staan. In dit geval bevat de bestelling waarschijnlijk 6 producten, waardoor er 6 regels staan. 

    óf
  3. Sleep vanaf de Data Pane opnieuw het veld Order ID naar de Columns Shelf naast Days Until Shipping. Rechterklik op Order ID in de Columns Shelf en selecteer Measure > Count. Nu zie je dat het veld Order ID groen wordt. Klik rechtsbovenin je scherm op Show Me en selecteer de tabel, uiterst linksbovenin. We zien nu dat de Order ID’s met hoge waarden voor Days Until Shipping in veel gevallen ook vaker in de dataset voorkomen. Toeval? Zeg het maar, jij bent de analist!

Conclusie

In deze sectie heb je geleerd hoe je Calculated Fields en Functions kunt gebruiken in Tableau Desktop om gegevens te manipuleren en geavanceerde analyses uit te voeren. Door gebruik te maken van deze functies, kun je inzicht krijgen in de gegevens en de trends en patronen die daarin verborgen zijn. Het maakt Tableau tot een krachtig en flexibel product. Al je data vragen kun je met behulp van deze berekende velden oplossen. In het volgende onderwerp gaan we door met hoe we data filteren in Tableau.

Meer Leren

Deze blogs over calculated fields zijn ook interessant voor jou

Blog

Highlight table met conditionele opmaak

Leer van Emre hoe je met behulp van een calculated field een conditionele opmaak kan maken in een tabel. Dus bijvoorbeeld een tabel waarbij er gekleurd wordt op verschillende winsten.

Highlight table met conditionele opmaak

Emre Oktay - 20 april 2023
Lees blog

Blog

How to calculate a running difference in tableau

Wil je weten hoe je verschillen tussen periodes uit kunt rekenen? Hoeveel je winst is toegenomen ten opzichte van de vorige maand bijvoorbeeld? Dan is deze blog voor jou.

How to calculate a running difference in tableau

Jessica Bautista - 23 Februari 2023
Lees blog