Ga naar hoofdinhoud

Velden berekenen in Tableau

Leer hoe je velden maakt in Tableau met onze stapsgewijze tutorial met voorbeelden, van eenvoudig tot complex.
· 10 min lezen

Verken met AI

Het aanmaken van nieuwe variabelen of velden is heel belangrijk bij het halen van inzichten uit data. Vaak bevat een dataset niet alle informatie die je nodig hebt, maar kun je nieuwe features afleiden uit bestaande, zoals gemiddelden, verhoudingen, bins en categorische variabelen. Meestal zijn nieuwe velden nodig om tot heldere analyses en visualisaties te komen. 

In deze tutorial laten we je zien hoe je velden maakt met Tableau. We gaan stap voor stap, van eenvoudig naar complexere voorbeelden, en tot slot geven we extra tips en bronnen om deze ontzettend handige functie in Tableau onder de knie te krijgen.

Wat zijn berekende velden in Tableau?

Berekende velden zijn een van de krachtigste functies van Tableau. Ze bieden een manier om nieuwe data te creëren op basis van bestaande data. Stel bijvoorbeeld dat we de prijs van een appartement in New York willen voorspellen op basis van de kenmerken, zoals het aantal slaapkamers, het aantal badkamers, enzovoort.

Het kan nuttig zijn te weten hoe ver het appartement van een metrostation ligt, maar die informatie staat niet rechtstreeks in de dataset. Dan moeten we die afleiden uit bestaande velden, zoals het adres. Je kunt deze Tableau-functie eenvoudig leren in onze cursus.

Waarom Tableau-berekeningsvelden gebruiken?

Gezien de populariteit van Tableau voor datavisualisaties, waarom is het cruciaal om berekeningsvelden te maken? Daar zijn meerdere redenen voor:

1. Als filters niet voldoende zijn

Soms is het lastig om een filter toe te passen wanneer er ontbrekende data zijn of veel voorwaarden gelden. Een berekeningsveld bouwen kan tijd schelen als er veel condities zijn. Stel, je werkt bij een softwarebedrijf en wilt gebruikers segmenteren op basis van de tijd sinds registratie, de tijd die ze op je platform doorbrachten, welke features ze gebruikten en hoeveel ze betalen. De logica met zoveel variabelen kan best ingewikkeld worden; in dat geval is een berekend veld maken makkelijker dan de filtertools gebruiken.

2. Als we data willen segmenteren

In sommige gevallen is het nodig om categorische features te maken op basis van een numerieke feature, zeker bij datavisualisaties. Dit heet het "binnen" of "discretiseren" van numerieke data. Een bekend voorbeeld is dat je in plaats van exacte leeftijden, mensen groepeert in leeftijdscategorieën, zoals 16–25, 26–35, 36–45, enzovoort. Dit kan helpen om de privacy van personen in de dataset te beschermen.

3. Als we basisexpressies willen maken

Een ander belangrijk voordeel van berekeningsvelden is dat je data op rijniveau kunt transformeren op basis van één of meer variabelen. Een veelvoorkomend voorbeeld is het wijzigen van de eenheid van een variabele. Je wilt misschien de waarde van internationale verkopen standaardiseren naar Amerikaanse dollars of imperiale eenheden omzetten naar metrisch. 

Terwijl die berekeningen per rij een waarde teruggeven voor elke rij in de dataset, kun je ook geaggregeerde maten berekenen, oftewel samenvattingsstatistieken, die één waarde retourneren zoals gemiddelde, variantie, minimum en maximum.

Tutorial: berekende velden in Tableau 

Laten we een paar praktijkvoorbeelden doen met de openbare Airbnb-lijstsamenvatting van Lissabon in Portugal. De data komt van Inside Airbnb. Elke rij komt overeen met een andere Airbnb-vermelding. 

De features zijn onder andere de hostnaam, de buurt, het kamertype, enzovoort. Nadat je Tableau Public op je pc hebt geïnstalleerd, open je het bestand listing.csv als tekstbestand en kun je nieuwe velden gaan maken.

Voor elk van de volgende zes voorbeelden raden we aan om met een nieuw werkblad te beginnen, omdat we elke keer met andere velden werken.

1. Maak een eenvoudig veld

Stel dat we het aantal reviews per maand willen visualiseren, maar alleen het veld [Last Review] met de volledige datum is beschikbaar. ([Reviews Per Month] is in dit geval een bestaand veld dat we gebruiken om ons antwoord te controleren.) We willen dus de maand uit dat veld halen.

Daarvoor volgen we deze stappen:

  1. Maak een nieuw werkblad

  2. Rechtsklik op [Last Review] 

  3. Kies Create > Create a calculated field.

  4. In de berekeningseditor definiëren we het berekende veld. Tableau biedt datumfuncties om met temporele data te werken, zoals DAY, MONTH en YEAR. Voor meer informatie, bekijk de Tableau-documentatie.

  5. Voor dit gebruik voegen we MONTH([Last Review]) toe in de berekeningseditor

  6. Als we klaar zijn met de formule, wijzigen we de standaardnaam in Month of Last Review en klikken we op OK. 

  7. We zetten Month of Last Review om naar een Dimension door met rechts op de maat in het gegevenspaneel te klikken en Convert to Dimension te kiezen.

  8. Na het aanmaken van het nieuwe veld willen we het aantal reviews per buurt en maand in Lissabon bestuderen. We voegen Neighborhood en Month toe aan Rows, terwijl het aantal reviews in het Marks-venster wordt gezet. 

  9. Je ziet dat Tableau standaard de som van het aantal reviews neemt. Je kunt het type aggregatie wijzigen, maar we laten de som staan omdat dat hier logisch is. 

  10. We slepen het veld met het aantal reviews naar de tekstkaart om het aantal reviews per buurt en maand te visualiseren. 

  11. We verwijderen ook de null-waarden van het veld Month door met rechts op een van deze waarden te klikken en Exclude te kiezen.

Gefeliciteerd! Je hebt je eerste berekende veld in Tableau gemaakt en gewerkt met datumfuncties, die erg handig zijn bij temporele data. Bovendien heb je begrepen hoe je draaitabellen maakt met rijheaders en kunt filteren op een veld. 

2. Berekend veld met if-then-statements

We kunnen een ander veld maken om de prijs te bestuderen afhankelijk van of reviews doordeweeks of in het weekend zijn geschreven. We verwachten hogere prijzen in het weekend dan de rest van de week, maar we moeten er ook rekening mee houden dat sommige klanten hun review niet op de dag van uitchecken schrijven. 

Dit veld kan worden verkregen via IF-THEN-statements, die deel uitmaken van de beschikbare logische functies van Tableau. Afhankelijk van de gestelde voorwaarde geeft het een specifieke waarde terug.

Volg deze stappen:

1. Maak een nieuw werkblad

2. Rechtsklik op Last Review.

3. Klik op Create > Create a calculated field.

4. In het lege veld schrijven we de formule met if-else-statements. Dit keer moeten we de weekdag uit het veld Last Review halen, waarbij 1 en 7 respectievelijk overeenkomen met zondag en zaterdag. We maken dus een nieuwe variabele, Weekend day, die ‘Weekend day’ retourneert als de weekdag zaterdag of zondag is, en ‘Working day’ anders. 

If DATEPART('weekday',[Last Review]) IN (1, 7) THEN 'Weekend day'

ELSE 'Working day'

END

5. Klik op OK als je klaar bent

6. We zetten Weekend day weer om naar een Dimension.

In dit geval willen we de gemiddelde prijs in het weekend vergelijken met de gemiddelde prijs doordeweeks in 2022: 

  1. In Rows komt het veld price, geaggregeerd met het gemiddelde, terwijl het veld Weekend day in Columns komt.
  2. Sleep de Month van de laatste Review naar de Marks-kaart en klik op color om het prijsverschil per maand te visualiseren. 
  3. We willen ook op jaar filteren. In plaats van een nieuwe variabele te maken voor het jaar van de laatste review, kunnen we direct het veld Last Review gebruiken. Sleep het naar de filterbox en selecteer Years. Klik daarna op Next en selecteer 2022. 
  4. Klik op OK als je klaar bent met de instellingen.
  5. Selecteer box-and-whisker plot als grafiektype.
  6. De standaardkleur van boxplots is grijs. Als je die wilt wijzigen, klik je met rechts op een van de boxplots en kies je Edit.
  7. Ga naar het vakje Box plot
  8. Kies de gewenste kleur in de vervolgkeuzelijst Fill

Met de boxplots kun je eenvoudig de prijsverdeling doordeweeks en in het weekend visualiseren. In 2022 lijkt de gemiddelde prijs in het weekend hoger dan de rest van de week. Dat kun je afleiden door te kijken naar het minimum, het eerste kwartiel, de mediaan, het derde kwartiel en het maximum. 

Wat de maand van de laatste review betreft, zien we de hoogste gemiddelde prijzen in februari en juni in het weekend, terwijl doordeweeks januari en mei het duurst lijken. 

3 Box Plots.png

3. Berekend veld op basis van group by

Bij Airbnb speelt vertrouwen van klanten een cruciale rol. Hoe meer reviews een host heeft, hoe meer klanten geneigd zijn die host en zijn vermeldingen te vertrouwen. We willen daarom de som van reviews per host vinden. 

De resultaten kunnen worden bereikt door FIXED te gebruiken als expressie. Het berekent een waarde voor elke beschouwde dimensie. Dit geval kun je opdelen in stappen:

1. Maak een nieuw werkblad

2. Klik op Analysis in het menu en kies de optie Create Calculated Field... .

3. Noem het veld Reviews Per Host en schrijf de onderstaande formule. De expressie FIXED wordt gebruikt om de data te groeperen. Het is gelijk aan GROUP BY in SQL. 

{FIXED [Host Id],[Host Name]:SUM([Number Of Reviews])}

4. Klik op OK zodra je de juiste formule hebt geschreven.

Top! We hebben het veld Reviews Per Host gemaakt. Tijd om een nieuw werkblad te maken en het nieuwe veld te visualiseren met gestapelde staafdiagrammen. 

We moeten dus de som van dit nieuwe veld toevoegen in de rows-box, terwijl Host Id en Host Name in Columns worden gezet. Daarna selecteren we het icoon om op aantal reviews te sorteren en klikken we eenmaal om het aantal reviews in aflopende volgorde te krijgen. 

Met deze gestapelde staven kun je de top 14 hosts zien met het hoogste aantal reviews en dus het meest vertrouwd zijn door klanten in Lissabon.

4. Berekend veld om te filteren 

De visualisatie uit het vorige voorbeeld is vrij rommelig. Het is beter om direct de hosts met de meeste reviews te bekijken. Daarom maken we een veld voor hosts met meer dan 5k reviews. 

1. Maak een nieuw werkblad

2. Rechtsklik op Reviews Per Host, het eerder gemaakte veld.

3. Klik op Create > Create a calculated field.

4. Noem het veld Reviews 5k en schrijf de formule zoals hierboven gespecificeerd. IIF() is een logische functie die controleert of aan een voorwaarde is voldaan. In dit geval bestaat de voorwaarde uit het controleren of het aantal reviews per host hoger is dan 5.000. Als daaraan is voldaan, is de modus ‘Apply Filter’. De andere waarde is ‘No filter’ in het tegenovergestelde geval.

IIF([Reviews Per Host]>5000,'Apply Filter','No Filter')

5. Klik op OK

Als het veld is toegevoegd aan de dataset, kunnen we dezelfde plot reproduceren als bij Reviews Per Host. Daarnaast voegen we Reviews 5k toe in het filtervak en klikken we de modus Apply Filter aan. Zo zien we de hosts met meer dan 5.000 reviews. 

We zien de top drie hosts die meer dan 7.000 reviews hebben gehaald. De populairste host is Pedro, met 9.000 reviews.

5. Bins berekenen in Tableau

Tot slot: we delen de gemiddelde prijs op in verschillende groepen van gelijke grootte, zogenaamde bins. Bins zijn erg handig om de waarden van een maat in verschillende groepen te organiseren. 

Als we bijvoorbeeld de gemiddelde prijs doordeweeks en in het weekend bestuderen, is het verhelderend om deze twee verdelingen te vergelijken door verschillende prijsranges te onderscheiden. 

De procedure om bins te bouwen is heel eenvoudig en intuïtief.

  1. Maak een nieuw werkblad
  2. Rechtsklik op Price.
  3. Klik op Create > Bins.
  4. Stel de bin-grootte in op 500.
  5. Klik op OK zodra je klaar bent met de instellingen.

We willen opnieuw de gemiddelde prijs doordeweeks en in het weekend onderzoeken, gebruikmakend van het veld Weekend day dat we in het tweede voorbeeld hebben gemaakt. Uit de vorige analyse leek de gemiddelde prijs in 2022 hoger in het weekend dan doordeweeks. Laten we dit opnieuw bekijken door de prijs op te delen in verschillende intervallen:

  1. In Rows staat het veld Price, geaggregeerd met het gemiddelde
  2. Sleep de velden Weekend day en Price(bins) naar Columns 
  3. Zet Price(bins) in de Marks-kaart en klik op Color.
  4. Sleep het veld Last Reviews naar de filters-box en selecteer Years. Klik daarna op Next en selecteer 2022. Klik tot slot op OK.

Uit de twee histogrammen merken we dat de gemiddelde prijs doordeweeks een maximum bereikt tussen 200 en 2500, terwijl het weekend intervallen heeft met hogere waarden van de gemiddelde prijs. Dit beïnvloedt duidelijk de twee verdelingen en bevestigt de observaties uit het tweede voorbeeld: de gemiddelde prijs ligt in het weekend hoger dan de rest van de week. 

Een andere handige functie bij het werken met bins is dat je de bin-grootte kunt wijzigen via de plotlegenda. 

Dit zijn de stappen om een dynamische parameter te maken om de bin-grootte te veranderen:

  1. Selecteer het vervolg pijltje bovenaan het gegevenspaneel en kies Create Parameter.
  2. Hernoem de parameter naar Price Bins Control en stel de huidige waarde in op 100.
  3. Kies in het vak allowable options Range.
  4. Stel Minimum in op 100, Maximum op 5000 en Step size op 100.
  5. Klik op OK.

Nadat deze parameter is gemaakt, moeten we ook het veld Price (bins) bewerken. In plaats van een stapgrootte van 500, vervangen we die door de parameter Price Bins Control. Dit doe je zo:

  1. Rechtsklik op het veld Price(Bins) en kies Edit.
  2. Klik op het pijltje naast de bin-grootte en selecteer Price Bins Control.
  3. Klik op OK.

Klik daarna met rechts op Price Bins Control en kies Show Parameter. Vervolgens kun je de grootte van de bins regelen met deze parameter. Dat doe je door op de twee pijlen onder de parameter rechtsboven te klikken: de linker pijl om de bin-grootte te verkleinen en de rechter pijl om de waarde te vergroten.

Je ziet dat de histogrammen veranderen zodra je de bin-grootte vergroot.

6. Exclude-veld berekenen

EXCLUDE is een Tableau-expressie waarmee je een veld kunt maken waarin bepaalde details zijn weggelaten. In deze tutorial gebruiken we het om het aantal reviews te bekijken waarbij de buurt wordt uitgesloten. Het is namelijk lastig om in dezelfde tabel het aantal reviews per buurt en het totale aantal reviews zonder buurt mee te nemen te visualiseren. Maak voor je begint een nieuw werkblad.

Om dit veld te maken, volgen we deze stappen:

1. Maak een nieuw werkblad

2. Klik op Analysis in het menu en kies Create Calculated Field.

3. Noem het veld Reviews no neighborhood en schrijf de volgende formule.

{EXCLUDE [Neighborhood]:SUM([Number Of Reviews])}

4. Klik op OK.

5. Sleep het nieuwe veld naar de draaitabel tussen Neighborhood en Number of Reviews.

8 Reviews No Neighborhood.gif

Meer Tableau-bronnen

Dit artikel heeft je geïntroduceerd in Tableau-berekeningsvelden. Ook liet het zes illustratieve voorbeelden zien die duidelijk maken waarom je velden moet berekenen tijdens exploratieve analyse. 

Met deze gids kun je berekeningsvelden leren maken terwijl je Tableau gebruikt. Begin met een eenvoudige hypothese en breng die in de praktijk door deze Tableau-functionaliteit te benutten. Je kunt dieper duiken in Tableau met ons Data Analyst in Tableau-traject en snel resultaat halen met onze Tableau Cheat Sheet.

Onderwerpen

Gerelateerd