KNOWLEDGE BASE

Includere i filtri nei calcoli senza includerli nella scheda filtro


Pubblicato: 30 Nov 2015
Data dell'ultima modifica: 20 Jul 2023

Domanda

Come filtrare uno o più campi senza filtrare l'intera vista.

Ambiente

Tableau Desktop

Risposta

Crea un calcolo logico utilizzando un'istruzione IF / THEN per restituire una misura solo per determinati valori di dimensione. Il valore della dimensione può essere hardcoded o può essere definito in modo dinamico con un parametro o un insieme.

Le istruzioni seguenti partono dal foglio di lavoro "Originale" nella cartella di lavoro che puoi scaricare dal riquadro a destra di questo articolo. La cartella di lavoro include anche le istruzioni per la creazione del foglio di lavoro "Originale" e dimostrazioni di tutte le varianti.

Variante 1: utilizzare un valore di dimensione hardcoded

  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 "Etichetta vendite (variante 1)"
    2. Nel campo Formula, crea un calcolo simile a quello riportato di seguito:

      IF DATEPART('year', [Order Date]) = 2019
      THEN [Sales]
      END

      Il calcolo precedente restituirà la misura [Vendite] se [Data ordine] rientra nell'anno 2019. In caso contrario, il ​​calcolo restituirà NULL. È possibile aggiungere "ELSE 0" prima di "END" per restituire uno zero anziché NULL.

      Possono essere utilizzate altre condizioni come [Data ordine] = #1/1/2019# per filtrare in base a una data specifica o [Segmento] = "Consumer" per filtrare in base a un valore di testo specifico. L'importante è assicurarsi che il valore dopo il segno di uguale sia dello stesso tipo di dati della dimensione.
  3. Sostituisci [Vendite] in Etichetta con [Etichetta vendite (variante 1)]
 

Variante 2: utilizzare i parametri

  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 "Anno di Data ordine"
    2. Nel campo Formula, crea un calcolo simile a quello riportato di seguito:

      DATEPART('year', [Order Date])

      I passaggi 1 e 2 creano un campo che contiene solo la parte della data dell'anno di [Data ordine] come valore intero. Il campo [Anno di Data ordine] semplifica la creazione di un parametro, ma per il resto non è necessario
  3. Nel riquadro Dati, fai clic con il pulsante destro del mouse sul campo [Anno di Data ordine] e seleziona Crea > Parametro…
  4. Nella finestra di dialogo Crea parametro, procedi come segue e quindi fai clic su OK.
    1. Nella casella di testo Nome, digita un nome. In questo esempio assegnerò al parametro il nome "Seleziona un anno"
    2. In Proprietà, nell'elenco Tipo di dati, seleziona Numero intero
    3. In Valori consentiti, seleziona Elenco
    4. Nel menu a discesa Formato di visualizzazione, seleziona Numero (personalizzato), imposta il formato su 0 cifre decimali e deseleziona Includi separatori migliaia
    • A partire da Tableau Desktop 2020.1, i parametri possono recuperare i valori degli elenchi da un campo nell'origine dati, in base al campo selezionato nel menu a discesa Quando si apre la cartella di lavoro.
  5. Fai clic con il pulsante destro del mouse su [Seleziona un anno] nel riquadro Dati e seleziona Mostra controllo parametro
  6. Crea un campo calcolato con un nome come "Etichetta vendite (variante 2)" e un calcolo simile al seguente:

    IF DATEPART('year', [Order Date]) = [Parameters].[Select a year]
    THEN [Sales]
    END

    Nota: La sintassi "[Parametri]." viene aggiunta automaticamente quando un parametro ha lo stesso nome di un altro campo nell'origine dati.
  7. Sostituisci [Vendite] in Etichetta con [Etichetta vendite (variante 2)]

Variante 3: utilizzare i controlli insieme

A partire da Tableau Desktop 2020.2, è possibile visualizzare i controlli insieme per consentire agli utenti finali di modificare i valori negli insiemi.
  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 "Anno di Data ordine"
    2. Nel campo Formula, crea un calcolo simile a quello riportato di seguito:

      DATEPART('year', [Order Date])
  3. Fai clic con il pulsante destro del mouse su [Anno di Data ordine] e seleziona Converti in dimensione

    I passaggi da 1 a 2 creano una dimensione che contiene solo la parte della data dell'anno di [Data ordine] come valore intero. Il campo [Anno di Data ordine] è necessario per creare un insieme di anni, poiché gli insiemi devono essere creati al di fuori dei campi nell'origine dati.
  4. Nel riquadro Dati, fai clic con il pulsante destro del mouse sul campo [Anno di Data ordine] e seleziona Crea > Insieme…
  5. Assegna un nome all'insieme e fai clic su OK. In questo esempio, l'insieme è denominato "Seleziona un anno"
  6. Crea un campo calcolato con un nome come "Etichetta vendite (variante 3)" e un calcolo simile al seguente:

    IF [Select a year]
    THEN [Sales]
    END

    Il calcolo precedente restituirà la misura [Vendite] se [Data ordine] appartiene a un anno selezionato dall'utente. In caso contrario, il ​​calcolo restituirà NULL. È possibile aggiungere "ELSE 0" prima di "END" per restituire uno zero anziché NULL.

    Gli insiemi sono campi booleani che restituiscono VERO o FALSO. Pertanto l'insieme di per sé costituisce l'intera condizione.
  7. Sostituisci [Vendite] in Etichetta con [Etichetta vendite (variante 3)]
  8. Fai clic con il pulsante destro del mouse sull'insieme [Seleziona un anno] nel riquadro Dati e seleziona Mostra insieme

Ulteriori informazioni

Confronto tra parametri e insiemi

  • I parametri possono contenere solo un singolo valore, mentre i controlli insieme consentono la selezione multipla.
  • I parametri possono contenere qualsiasi valore arbitrario, mentre gli insiemi sono sempre associati a un campo nell'origine dati. È tuttavia possibile assegnare alias ai valori di tali campi.
  • I parametri possono essere utilizzati per eseguire filtri tra origini dati che non hanno relazioni. Consulta Filtrare tra più origini dati usando un parametro. Gli insiemi consentono di eseguire filtri tra origini dati solo quando è impostata una relazione tra le origini dati. Consulta Filtrare i dati tra più origini dati
  • I parametri possono essere usati negli oggetti di testo o nei titoli di una dashboard, mentre gli insiemi (o i campi calcolati che utilizzano insiemi) possono essere usati solo negli elementi dei fogli di lavoro poiché gli insiemi fanno parte dell'origine dati.
  • Gli insiemi vengono sempre aggiornati quando sono presenti nuovi dati nell'origine dati. I parametri possono essere impostati per inserire nuovi dati. Consulta il passaggio 5 in Creare parametri


Questa soluzione può essere nidificata all'interno di altri calcoli. Ad esempio, potrebbe essere inclusa in un calcolo LOD (Level of Detail) come
{INCLUDE [Dimension]: SUM(IF [Dimension] = 'FilterValue' THEN [Non-Aggregated Measure] END)}


Con questo articolo hai risolto il problema?