KNOWLEDGE BASE

Conteggio dei membri delle dimensioni che soddisfano una condizione


Pubblicato: 05 Sep 2017
Data dell'ultima modifica: 20 Jul 2023

Domanda

Come calcolare il conteggio dei membri della dimensione che soddisfano una condizione.

Ambiente

Tableau Desktop

Risposta

In generale la formula per contare i membri della dimensione che soddisfano una condizione è:
 
{ FIXED [Dimensione] : SUM(
IF <Condizione>
THEN 1
ELSE 0
END
) }

Esistono diversi casi d'uso che possono utilizzare questa formula generale. Di seguito sono riportati alcuni esempi che utilizzano l'insieme di dati di esempio Superstore.  
         
FAI CLIC PER ESPANDERE LA SOLUZIONE
Esempio 1: Utilizzo di un intervallo di valori con i parametri
In questo esempio la vista contiene [Categoria] e [Segmento] sulle Righe e l'obiettivo è quello di contare il numero di clienti con vendite tra due valori dei parametri per ogni combinazione di categoria e segmento.
  1. Seleziona Analisi > Crea campo calcolato
  2. Nella finestra di dialogo Campo calcolato che si apre, esegui le seguenti operazioni, quindi fai clic su OK:
    1. Attribuisci un nome al campo calcolato. In questo esempio, il campo calcolato denominato "numero di clienti con vendite selezionate".
    2. Nel campo Formula, crea un calcolo simile a quello riportato di seguito:
      IF { INCLUDE [Nome cliente] : SUM([Vendite])} >= [Limite inferiore vendite]
      AND { INCLUDE [Nome cliente] : SUM([Vendite])} <= [Limite inferiore vendite]
      THEN 1
      ELSE 0
      END
  3. Trascina [numero di clienti con vendite selezionate] su Testo nella scheda Indicatori
FAI CLIC PER ESPANDERE LA SOLUZIONE
Esempio 2: Utilizzo di un valore di testo
In questo esempio la vista contiene [ID ordine] e [Nome prodotto] sulle righe e l'obiettivo è quello di contare gli ordini che contengono il prodotto "Porta graffette".
  1. Crea un campo calcolato con un nome quale "numero di ordini con un porta graffette" con un calcolo simile al seguente:

    { FIXED [ID ordine] : MAX(
    IF [Nome prodotto] = "Porta graffette"
    THEN 1
    ELSE 0
    END)}

  2. Trascina [numero di ordini ] nel Testo nella scheda Indicatori
FAI CLIC PER ESPANDERE LA SOLUZIONE
Esempio 3: Creazione di categorie

In questo esempio [Stato] è stato aggiunto al Testo e l'obiettivo è quello di classificare gli stati per il numero di città con un profitto negativo.

  1. Crea un campo calcolato con un nome come "numero di città non redditizie" con un calcolo simile al seguente:

    { FIXED [Stato] : SUM(
    IF { INCLUDE [Città] : SUM([Profitto]) } < 0
    THEN 1
    ELSE 0
    END
    ) }

  2. Crea un campo calcolato con un nome come "Categorie basate sul profitto delle città" con un calcolo simile al seguente:

    IF [numero di città non redditizie] = 0
    THEN "Tutte le città hanno un profitto positivo"
    ELSEIF [numero di città non redditizie] = 1
    THEN "Una città ha un profitto negativo"
    ELSE "Più città hanno un profitto negativo"
    END

  3. Trascina [Categorie basate sul profitto delle città] nello spazio Colonne
FAI CLIC PER ESPANDERE LA SOLUZIONE
Esempio 4: Utilizzo delle funzioni della tabella
In questo esempio, la vista è già filtrata per mostrare i primi 10 clienti per vendita e categorie per segmento. L'obiettivo è quello di evidenziare qualsiasi categoria o segmento che abbia più di due clienti con profitto negativo.
  1. Crea un campo calcolato con un nome come "3 + 10 clienti principali con profitto negativo" con un calcolo simile al seguente:

    IF
    WINDOW_SUM(
    IF SUM([Profitto]) < 0
    AND [Livello di vendita] <= 10
    THEN 1
    ELSE 0
    END ) > 2
    THEN "Tre o più clienti con profitto negativo"
    ELSE "Buona reputazione"
    END

  2. Trascina [3 + 10 clienti principali con profitto negativo] su Colore nella scheda Indicatori
  3. Fai clic con il pulsante destro del mouse su [3 + 10 clienti principali con profitto negativo] su Colore e seleziona Calcola usando > Nome cliente

Ulteriori informazioni

Note sull'Esempio 1:
  • L'espressione INCLUDE è necessaria poiché [Nome cliente] non è nella vista.
  • SUM([Vendite]) viene aggregata fino al livello di dettaglio nella vista, cioè [Categoria] e [Segmento] in questo esempio, più [Nome cliente] in quanto l'espressione INCLUDE elenca [Nome cliente]
  • Il calcolo ["numero di clienti con vendite selezionate] valuterà se le vendite per cliente sono inferiori a [Limite superiore di vendita] e superiori a [Limite superiore di vendita]. Se le vendite per cliente rientrano nell'intervallo specificato, allora questo calcolo restituirà 1, che se sommato funge da conteggio dei clienti.
  • Questo calcolo può essere scritto anche con un COUNTD().
Note sull'Esempio 2:
  • L'istruzione IF legge ogni record dell'insieme di dati sottostanti per verificare se [Nome prodotto] è "Porta graffette". In tal caso, il calcolo restituisce 1 per quel record. Quindi l'espressione FIXED restituirà il massimo di 1 e 0 per ogni record con lo stesso valore di [ID ordine].
  • In Superstore, esiste un solo record per ogni combinazione unica di [Nome prodotto] e [ID ordine], il che significa che il MAX() può essere sostituito con SUM() e restituire lo stesso risultato in quanto sommare 1 valore è uguale a ottenere il massimo di 1 valore.
Note sull'Esempio 3:
  • L'espressione INCLUDE restituirà la somma del profitto per città e per stato poiché [Stato] si trova nell'espressione FIXED. Il calcolo restituirà poi un 1 per ogni città non redditizia, il che costituisce un modo per contare le città.
Note sull'Esempio 4:
  • Questo esempio deve utilizzare i calcoli di tabella al posto delle espressioni del livello di dettaglio (LOD) poiché i filtri di calcolo tabella non filtrano i dati sottostanti; per tale motivo è necessario aggiungere una condizione all'interno del calcolo per la classificazione. Tuttavia RANK() è una funzione di tabella e non può essere utilizzata all'interno di un calcolo del LOD.
  • I calcoli tabella sono influenzati da ogni dimensione non aggregata nella vista. Se il calcolo tabella non restituisce i risultati corretti, potrebbe dipendere da come il calcolo della tabella viene calcolato dalle dimensioni nella vista. Per risolvere questo problema, modifica l'opzione Calcola usando. Per ulteriori informazioni, consulta Trasformare i valori con i calcoli tabella.
Con questo articolo hai risolto il problema?