Come contare i valori distinti in Tableau
Ci sono due modi per eseguire un conteggio distinto in Tableau: dalla shelf Measure Names e tramite un campo calcolato. I campi calcolati hanno il vantaggio di essere riutilizzabili e possono essere estesi per creare misure più complesse, rendendoli più efficienti nel lungo periodo rispetto ai metodi pronti all'uso, che sono più rapidi ma vanno ricreati ogni volta. Iniziamo da quello semplice: la shelf Measure Names.
Count Distinct con la shelf Measure Names
Prima di fare il conteggio distinto, dobbiamo iniziare a costruire una semplice visualizzazione. Partiamo da un grafico a barre di base che confronta le categorie di prodotto in base al numero di clienti che hanno acquistato articoli da ciascuna categoria nel catalogo di Superstore.
Per iniziare, vai a "Sheet 1" e trascina Category nell'area delle righe e Customer ID nell'area delle colonne. Poiché Customer ID è una colonna dimensione (dati categoriali), verrà colorata di blu. Inoltre, dato che ha troppi valori distinti, Tableau ti chiederà se vuoi aggiungere tutti i membri della colonna. Per ora, seleziona Add all members.
Ora useremo Customer ID come misura per contare quanti clienti unici hanno acquistato i prodotti di ciascuna categoria. Per farlo:
- Vai alla shelf Columns.
- Dal menu a discesa, vai su Measure.
- Nota che tra le opzioni ci sono Count e Count (Distinct). Sceglieremo Count (Distinct).

Conteggio distinto dalla shelf Measure Names. GIF dell'autore.
Ed eccoci! Il numero di clienti unici per ciascuna categoria di prodotti. Vediamo che ci sono 788 clienti per la categoria Office Supplies.

Clienti unici di ciascuna categoria di prodotto. Immagine dell'autore.
Count vs. Count Distinct in Tableau
Prima di proseguire, vediamo la differenza tra conteggio e conteggio distinto nel caso di Customer ID. Per mostrarla, possiamo aggiungere un secondo campo Customer ID sulla shelf delle colonne. Segui gli stessi passaggi precedenti, tranne che, questa volta, sceglieremo Count e non Count (Distinct) dal menu Measures.
Non preoccuparti se, per il momento, questo produce una vista un po' strana. La sistemeremo tra un attimo. Continua andando alla scheda Show Me nell'angolo destro e scegli una delle opzioni di grafico a barre.

Confronto tra Count e Distinct Count. GIF dell'autore.
Nella vista risultante, vediamo un confronto tra conteggio (colonne grigie) e conteggio distinto (colonne verde chiaro) per ciascuna categoria di prodotto. La differenza tra i due è il numero di ID cliente ripetuti. Scopriamo anche che Office Supplies è la categoria con la maggiore differenza tra i due conteggi e quindi presenta la frequenza di acquisto più alta da parte della sua base clienti.

Confronto tra Count e Distinct Count con un grafico a barre. Immagine dell'autore.
Count Distinct con campi calcolati
Creare un conteggio distinto dalla shelf delle misure è un metodo semplice e veloce, ma ha un grande svantaggio. Se avessimo bisogno di aggiungere un altro conteggio distinto per Customer ID nella stessa vista, o in un nuovo foglio, dovremmo ripetere gli stessi passaggi. Inoltre, se volessimo costruire una nuova misura basata sul conteggio distinto dei clienti, dovremmo creare la misura da zero. In altre parole, usare la shelf Measure Names ci dà un'aggregazione una tantum, non permanente.
Per creare un conteggio distinto permanente, dobbiamo creare un campo calcolato che utilizzi la funzione COUNTD(). Ora lo faremo in due modi:
-
Campo calcolato
COUNTD()semplice -
COUNTD()con un'espressione LOD
Campo calcolato COUNTD() semplice
Dietro il conteggio distinto che abbiamo creato nella shelf Measure Names, ciò che è realmente accaduto è che Tableau ha usato la funzione COUNTD(), che conta semplicemente ciascun Customer ID unico una sola volta. Nel nostro metodo precedente, l'aggregazione viene eseguita sulla shelf e non è salvata come misura nell'elenco dei campi.
Per salvarla come misura nel nostro elenco di campi, dobbiamo creare un campo calcolato. Per creare un campo calcolato di conteggio distinto semplice per i clienti nel nostro dataset, seguiamo questi passaggi:
-
Clicca sulla piccola freccia verso il basso, accanto alla barra di ricerca, nel riquadro Data a sinistra.
-
Dal menu a discesa, scegli Create Calculated Field….
-
Nella finestra popup, dai un nome al campo:
Unique Customerse scrivi la seguente formula:COUNTD([Customer ID]). -
Nota che, quando completiamo la formula, compare un messaggio in fondo alla finestra che dice “The calculation is valid”, il che è una buona notizia. Clicchiamo su OK.
-
Il campo calcolato è ora elencato in modo permanente nella nostra lista di misure. Ora sostituiamo il campo
CNTD(Customer ID)nella shelf con il nostro nuovo campo calcolato. Dà lo stesso risultato, come previsto.

Conteggio distinto con un campo calcolato. GIF dell'autore.
COUNTD() con un'espressione LOD
Possiamo usare COUNTD() in un'espressione di livello di dettaglio (LOD) per creare un conteggio distinto dei clienti per ciascuna categoria di prodotto. Questo ci darebbe una misura permanente della base clienti per categoria, che potremo usare in seguito per misure più complesse.
Per farlo, seguiremo gli stessi passaggi precedenti per creare un campo calcolato, ma questa volta lo chiameremo Category Customer Base e scriveremo la seguente formula:
{FIXED [Category]: COUNTD([Customer ID])}

Conteggio distinto nelle espressioni LOD. GIF dell'autore.
Se sei nuovo alle espressioni LOD, ti consiglio di leggere il nostro tutorial Espressioni LOD in Tableau. Tuttavia, per lo scopo di questo articolo, sappi che quanto fa la formula precedente è semplicemente contare i clienti unici per ciascuna categoria separatamente. Usiamo le parentesi graffe {} per indicare che si tratta di un'espressione LOD e FIXED per indicare che il conteggio distinto deve essere al livello di dettaglio della colonna Category.
Creare KPI con Count Distinct in Tableau
Uno dei vantaggi dei campi calcolati è che possono essere utilizzati in altre misure senza dover riscrivere ogni volta l'intera formula.
Per questo motivo, usare COUNTD() con i campi calcolati è un'ottima tecnica che ti aiuta a procedere rapidamente per scoprire nuovi insight. Può aiutarci a trovare il numero di ordini, clienti o prodotti, che possono essere metriche aziendali a sé stanti, oppure usarli per calcolare KPI aziendali più complessi, come il profitto medio per cliente o la quantità media per ordine, per citarne un paio. Diamo un'occhiata ai modi in cui possiamo usare COUNTD() per ottenere insight preziosi e rilevanti per il business.
Ordini medi per cliente
Possiamo usare la misura Unique Customers insieme a una nuova misura che calcola il numero medio di ordini per cliente. Lo facciamo creando un nuovo campo calcolato con la seguente formula, che chiamiamo Avg Orders per Customer:
COUNT([Order ID])/[Unique Customers]
Percentuale di clienti che ricevono sconti
Allo stesso modo, possiamo spingerci oltre per calcolare il rapporto tra i clienti che hanno ottenuto uno sconto elevato (diciamo oltre il 50%) su uno qualsiasi dei loro ordini e il totale dei clienti che Superstore ha. Per questo, useremo una formula che combina una funzione logica con la funzione COUNTD().
COUNTD(IF [Discount] > 0.5 THEN [Customer ID] END)/[Unique Customers]
Tasso di fidelizzazione dei clienti
Possiamo usare un'altra combinazione di COUNTD() con IF per creare metriche più complesse, come il tasso di fidelizzazione. Quindi, per contare la percentuale di clienti che hanno effettuato un ordine nell'anno più recente sul totale dei clienti del dataset, creiamo un campo Customer Retention Rate con la seguente formula:
COUNTD(IF YEAR([Order Date]) = {MAX(YEAR([Order Date]))} THEN [Customer ID] END)/[Unique Customers]
Qui, l'espressione LOD viene utilizzata per ottenere l'anno massimo (più recente) in tutto il dataset e confrontarlo con l'anno di ciascuna riga. Se sono uguali, allora il cliente è stato fidelizzato nell'anno più recente e quindi deve essere contato. In caso contrario, il cliente non verrà considerato dalla funzione COUNTD().
Rapporto di penetrazione per categoria
Possiamo usare sia Category Customer Base sia Unique Customers in un'unica formula per calcolare un KPI che misura il rapporto tra i clienti di ciascuna categoria e il numero complessivo di clienti nel dataset. Chiamiamolo Category Penetration Ratio.
[Category Customer Base]/{[Unique Customers]}
Come nella formula precedente, viene utilizzata un'espressione LOD, indicata dalle parentesi graffe {}, per calcolare i clienti unici in tutto il dataset. Abbiamo dovuto farlo perché il campo calcolato Category Customer Base ha un livello di aggregazione diverso.
Profitto medio per cliente in ciascuna categoria
Per trovare il profitto medio per cliente in ciascuna categoria, creeremmo Avg Profit per Customer in Each Category e lo definiremmo come segue:
{FIXED [Category]: SUM([Profit])}/[Category Customer Base]
Qui, un'espressione LOD FIXED completa viene utilizzata per calcolare il profitto totale per categoria prima di dividerlo per Category Customer Base. Anche la parte al denominatore della formula avrebbe potuto essere creata prima come misura separata.
Etichettare le categorie con base clienti limitata
Un altro modo per usare Category Customer Base come campo LOD è etichettare ciascuna categoria in base alla dimensione della sua base clienti. Se una categoria ha meno clienti della media delle tre categorie, verrà etichettata come Limited Base. Altrimenti, verrà etichettata come Normal. Possiamo creare questo campo usando la seguente formula e chiamandolo Limited Categories.
IF [Category Customer Base] < {AVG([Category Customer Base])} THEN "Limited Base" ELSE "Normal" END
Risorse e approfondimenti
In questo articolo, abbiamo visto come creare un conteggio distinto sia tramite la shelf Measure Names, sia utilizzando campi calcolati con la funzione COUNTD(). Per i campi calcolati, abbiamo usato sia una forma semplice sia un'espressione LOD. Infine, abbiamo applicato quanto appreso per mostrare come un business analyst potrebbe creare metriche e KPI più complessi.
Se quello che hai visto in questo tutorial ti incuriosisce e stai iniziando con Tableau, dai un'occhiata al nostro percorso di competenze Fondamenti di Tableau. Se vuoi ottenere la certificazione come data analyst in Tableau, esplora il nostro percorso professionale Data Analyst in Tableau, che offre una certificazione, e resta sintonizzato per altri tutorial su Tableau in arrivo da DataCamp!

Autore
Islam Salahuddin
Islam è un consulente dati presso The KPI Institute. Con un background nel giornalismo, Islam ha interessi diversi, tra cui scrittura, filosofia, media, tecnologia e cultura.
Domande frequenti
Qual è la differenza tra Count e Distinct Count?
Count conta tutti i valori nel campo, mentre Distinct Count conta solo i valori unici.
Quando dovrei usare Distinct Count invece di Count?
Usa un conteggio distinto quando una colonna del dataset ha ripetizioni e devi contare solo i suoi valori unici.
Qual è la funzione per un Distinct Count in Tableau?
Puoi fare il conteggio distinto con la funzione COUNTD() nei campi di calcolo di Tableau.
Posso usare la funzione `COUNTD()` in un'espressione LOD di Tableau?
Certo che puoi!


Tableau non è solo uno strumento di visualizzazione dei dati. Essendo una delle principali piattaforme di business intelligence, Tableau offre potenti funzionalità di analisi che possono essere eseguite tramite l'interfaccia utente o utilizzando le sue formule di campi calcolati.
In questo articolo, vedremo come eseguire un'operazione di conteggio distinto in Tableau. Spiegheremo cos'è un conteggio distinto, i diversi modi per ottenerlo e mostreremo come partire da lì per calcolare metriche aziendali utili con alcuni esempi.
Se sei alle prime armi con Tableau, potresti trovare utile il nostro Tutorial su Tableau per Principianti per iniziare. Inoltre, valuta di seguire il corso Introduzione a Tableau o di esplorare il percorso di competenze Fondamenti di Tableau.
Importare i dati in Tableau
Per prima cosa, ci serve un po' di dati. Useremo il famoso dataset di Tableau “Superstore Sales”. Per scaricare il dataset da Tableau Public (o Desktop), segui questi passaggi:
Download del dataset di esempio. GIF dell'autore.
Ora, per importare il dataset in Tableau:
Importazione dei dati in Tableau. GIF dell'autore.