Hoe tel je unieke waarden in Tableau
Er zijn twee manieren om een distinct count in Tableau uit te voeren: via de Measure Names-shelf en via een Berekend Veld. Berekende Velden hebben het voordeel dat ze herbruikbaar zijn en kunnen worden uitgebreid om complexere kengetallen te maken. Op de lange termijn zijn ze efficiënter dan snelle methoden op de shelf, die sneller zijn maar elke keer opnieuw moeten worden ingesteld. Laten we beginnen met de makkelijke—de Measure Names-shelf.
Distinct count met de Measure Names-shelf
Voordat we de distinct count doen, bouwen we een eenvoudige visual. We beginnen met een basisbalkdiagram dat productcategorieën vergelijkt op basis van het aantal klanten dat items uit elke categorie in de Superstore-catalogus heeft gekocht.
Ga naar "Sheet 1" en sleep Category naar het rijengebied en Customer ID naar het kolomgebied. Omdat Customer ID een dimensiekolom is (categorische data), wordt deze blauw gekleurd. En omdat het te veel unieke waarden heeft, vraagt Tableau of je alle leden van de kolom wilt toevoegen. Kies voor nu Add all members.
Nu gebruiken we Customer ID als maatstaf om te tellen hoeveel unieke klanten producten in elke categorie hebben gekocht. Zo doe je dat:
- Ga naar de shelf Columns.
- Ga in het dropdownmenu naar Measure.
- Je ziet de opties Count en Count (Distinct). Kies Count (Distinct).

Distinct count via de Measure Names-shelf. GIF door de auteur.
En dat is het! Het aantal unieke klanten per productcategorie. We zien dat er 788 klanten zijn voor de categorie Office Supplies.

Unieke klanten per productcategorie. Afbeelding door de auteur.
Count vs. Count Distinct in Tableau
Voordat we verdergaan, bekijken we het verschil tussen count en distinct count in het geval van Customer ID. Om het verschil te laten zien, voegen we een tweede veld Customer ID toe op de kolomshelf. Volg dezelfde eerdere stappen, maar kies dit keer Count in plaats van Count (Distinct) in het menu Measures.
Geen zorgen als dit tijdelijk een vreemd beeld oplevert. Dat passen we zo aan. Ga door naar het tabblad Show Me rechtsboven en kies een van de balkdiagramopties.

Count en Distinct Count vergelijken. GIF door de auteur.
In de resulterende weergave zien we een vergelijking tussen count (grijze kolommen) en distinct count (lichtgroene kolommen) voor elke productcategorie. Het verschil tussen de twee is het aantal herhaalde klant-ID’s. We ontdekken ook dat Office Supplies de categorie is met het grootste verschil tussen beide tellingen, en dus de hoogste aankoopfrequentie door zijn klantenbestand heeft.

Count en Distinct Count vergeleken met een balkdiagram. Afbeelding door de auteur.
Distinct count met Berekende Velden
Een distinct count maken via de measures-shelf is een eenvoudige en snelle methode, maar heeft één groot nadeel. Als we nog een distinct count voor Customer ID in dezelfde weergave of in een nieuw werkblad nodig hebben, moeten we dezelfde stappen herhalen. Bovendien, als we een nieuwe maatstaf willen bouwen op basis van de distinct count van klanten, moeten we die maatstaf vanaf nul opstellen. Met andere woorden: de Measure Names-shelf geeft ons een eenmalige aggregatie, geen permanente.
Om een permanente distinct count te maken, moeten we een Berekend Veld maken dat de functie COUNTD() gebruikt. Dat doen we nu op twee manieren:
-
Eenvoudig
COUNTD()-berekend veld -
COUNTD()met een LOD-expressie
Eenvoudig COUNTD()-berekend veld
Achter de distinct count die we op de Measure Names-shelf maakten, gebruikt Tableau in feite de functie COUNTD(), die simpelweg elke unieke Customer ID één keer telt. In onze vorige methode wordt de aggregatie op de shelf uitgevoerd en niet opgeslagen als maatstaf in onze veldenlijst.
Om dit als maatstaf in onze veldenlijst op te slaan, moeten we een Berekend Veld maken. Volg deze stappen om een eenvoudig Berekend Veld voor de distinct count van klanten in onze dataset te maken:
-
Klik op het kleine pijltje omlaag naast de zoekbalk in het linkerpaneel Data.
-
Kies in het dropdownmenu Create Calculated Field….
-
Geef in het popupvenster het veld de naam:
Unique Customers, en schrijf de volgende formule:COUNTD([Customer ID]). -
Let op: zodra we de formule voltooien, krijgen we onderaan het venster het bericht “The calculation is valid”, wat goed nieuws is. Klik op OK.
-
Het Berekend Veld staat nu permanent in onze measures-lijst. Vervang het veld
CNTD(Customer ID)op de shelf door ons nieuwe Berekende Veld. Het geeft hetzelfde resultaat, zoals verwacht.

Distinct count met een Berekend Veld. GIF door de auteur.
COUNTD() met een LOD-expressie
We kunnen COUNTD() gebruiken in een level of detail (LOD)-expressie om een distinct count voor klanten per productcategorie te maken. Dit levert ons een permanente maatstaf op voor het klantenbestand per categorie, die we later voor complexere maatstaven kunnen gebruiken.
Volg hiervoor dezelfde stappen als voor het maken van een Berekend Veld, maar noem het dit keer Category Customer Base en schrijf de volgende formule:
{FIXED [Category]: COUNTD([Customer ID])}

Distinct count in LOD-expressies. GIF door de auteur.
Als je nieuw bent met LOD-expressies, raad ik je aan onze tutorial LOD Expressions in Tableau te lezen. Voor de reikwijdte van dit artikel is het genoeg om te weten dat de bovenstaande formule simpelweg de unieke klanten per categorie telt. We gebruiken de accolade-haakjes {} om aan te geven dat dit een LOD-expressie is, en we gebruiken FIXED om aan te geven dat de distinct count op het detailniveau van de kolom Category moet liggen.
KPIs maken met Count Distinct in Tableau
Een voordeel van Berekende Velden is dat je ze in andere maatstaven kunt gebruiken zonder elke keer de volledige formule opnieuw te schrijven.
Daarom is COUNTD() met Berekende Velden een geweldige techniek om snel nieuwe inzichten te vinden. Het kan ons helpen het aantal bestellingen, klanten of producten te vinden—zelf al waardevolle businessstatistieken—of deze gebruiken om complexere KPI’s te berekenen, zoals gemiddelde winst per klant of gemiddelde hoeveelheid per bestelling. Laten we kijken hoe we COUNTD() kunnen inzetten voor waardevolle, businessrelevante inzichten.
Gemiddeld aantal orders per klant
We kunnen de maatstaf Unique Customers gebruiken naast een nieuwe maatstaf die het gemiddelde aantal bestellingen per klant berekent. Dat doen we door een nieuw Berekend Veld te maken met de volgende formule, die we Avg Orders per Customer noemen:
COUNT([Order ID])/[Unique Customers]
Aandeel klanten dat korting krijgt
Op vergelijkbare wijze kunnen we nog een stap verder gaan en het aandeel klanten berekenen dat een hoge korting (zeg boven 50%) kreeg op een van hun bestellingen, ten opzichte van alle klanten die de Superstore heeft. Hiervoor gebruiken we een formule die een logische functie combineert met de functie COUNTD().
COUNTD(IF [Discount] > 0.5 THEN [Customer ID] END)/[Unique Customers]
Klantretentiegraad
We kunnen nog een combinatie van COUNTD() met IF gebruiken om complexere kengetallen te maken, zoals de retentiegraad. Om dus het aandeel klanten te tellen dat in het meest recente jaar een bestelling plaatste, ten opzichte van alle klanten in de dataset, maken we een veld Customer Retention Rate met de volgende formule:
COUNTD(IF YEAR([Order Date]) = {MAX(YEAR([Order Date]))} THEN [Customer ID] END)/[Unique Customers]
Hier wordt de LOD-expressie gebruikt om het maximum (meest recente) jaar in de hele dataset te krijgen en dat te vergelijken met het jaar van elke rij. Als die gelijk zijn, is de klant behouden in het meest recente jaar en moet hij dus worden meegeteld. Zo niet, dan wordt de klant niet meegenomen door de functie COUNTD().
Categorie-penetratieratio
We kunnen zowel Category Customer Base als Unique Customers in één formule gebruiken om een KPI te berekenen die het aandeel klanten in elke categorie meet ten opzichte van het totale aantal klanten in de dataset. Laten we dit Category Penetration Ratio noemen.
[Category Customer Base]/{[Unique Customers]}
Net als in de vorige formule wordt een LOD-expressie, aangegeven door de accolades {}, gebruikt om de unieke klanten in de hele dataset te berekenen. Dit was nodig omdat het Berekende Veld Category Customer Base een ander aggregatieniveau heeft.
Gemiddelde winst per klant in elke categorie
Om de gemiddelde winst per klant in elke categorie te vinden, maken we Avg Profit per Customer in Each Category en definiëren we het als volgt:
{FIXED [Category]: SUM([Profit])}/[Category Customer Base]
Hier wordt een volledige FIXED LOD-expressie gebruikt om de totale winst per categorie te berekenen, voordat die wordt gedeeld door Category Customer Base. Het noemer-gedeelte van de formule had ook eerst als aparte maatstaf kunnen worden gemaakt.
Categorieën labelen met beperkt klantenbestand
Een andere manier om Category Customer Base als LOD-veld te gebruiken, is het labelen van elke categorie op basis van de omvang van het klantenbestand. Als een categorie minder klanten heeft dan het gemiddelde over de drie categorieën, krijgt deze het label Limited Base. Anders krijgt die het label Normal. We kunnen dit veld met de volgende formule maken en Limited Categories noemen.
IF [Category Customer Base] < {AVG([Category Customer Base])} THEN "Limited Base" ELSE "Normal" END
Resources en verder leren
In dit artikel zagen we hoe je een distinct count maakt via zowel de Measure Names-shelf als via Berekende Velden met de functie COUNTD(). Voor Berekende Velden gebruikten we zowel een eenvoudige vorm als een LOD-expressie. Tot slot hebben we laten zien hoe een businessanalist hiermee complexere kengetallen en KPI’s kan samenstellen.
Als dit je nieuwsgierig heeft gemaakt en je net begint met Tableau, bekijk dan onze skill track Tableau Fundamentals. Wil je je certificeren als data-analist in Tableau, bekijk dan onze career track Data Analyst in Tableau met beschikbare certificering, en houd DataCamp in de gaten voor meer Tableau-tutorials!

Auteur
Islam Salahuddin
Islam is data consultant bij The KPI Institute. Met een achtergrond in de journalistiek heeft Islam brede interesses, waaronder schrijven, filosofie, media, technologie en cultuur.
Veelgestelde vragen
Wat is het verschil tussen Count en Distinct Count?
Count telt alle waarden in het veld, terwijl Distinct Count alleen unieke waarden telt.
Wanneer moet ik Distinct Count gebruiken in plaats van Count?
Gebruik een distinct count wanneer een kolom in de dataset herhalingen bevat en je alleen de unieke waarden wilt tellen.
Wat is de functie voor een Distinct Count in Tableau?
Je kunt een distinct count doen met de functie COUNTD() in de berekende velden van Tableau.
Kan ik de functie `COUNTD()` gebruiken in een Tableau LOD-expressie?
Zeker weten!

Tableau is niet alleen een datavisualisatietool. Als een van de leidende business intelligence-platformen biedt Tableau krachtige analysemogelijkheden die je kunt uitvoeren via de gebruikersinterface of met behulp van de uitgebreide formules voor Berekende Velden.
In dit artikel leren we hoe je in Tableau een distinct count (aantal unieke waarden) uitvoert. We leggen uit wat een distinct count is, de verschillende manieren om dit te doen, en laten zien hoe je daarop kunt voortbouwen om als voorbeeld inzichtelijke businessstatistieken te berekenen.
Voor wie nieuw is met Tableau kan onze Tableau-tutorial voor beginners handig zijn om te starten. Volg ook onze cursus Introductie tot Tableau of verken onze skill track Tableau Fundamentals.
Gegevens importeren in Tableau
Eerst hebben we wat data nodig. We gebruiken Tableau’s beroemde dataset “Superstore Sales”. Volg deze stappen om de dataset te downloaden van Tableau Public (of Desktop):
Voorbeeld-dataset downloaden. GIF door de auteur.
Zo importeer je de dataset in Tableau:
Data importeren in Tableau. GIF door de auteur.