Ordine delle operazioni di Tableau
L’ordine delle operazioni in Tableau, definito anche pipeline delle query, è l’ordine in cui Tableau esegue varie azioni. Le azioni sono anche note come operazioni. Diverse operazioni applicano filtri, di conseguenza quando crei una vista e aggiungi filtri, questi filtri vengono sempre eseguiti nell’ordine stabilito dall’ordine delle operazioni.
Guarda un video: per vedere i concetti correlati mostrati in Tableau, guarda Comprendere l’ordine delle operazioni di Tableau(Il collegamento viene aperto in una nuova finestra), un video di 1 ora di formazione gratuita.
Questo articolo include due scenari per l’aggiornamento di una vista per la correzione dei problemi derivanti dall’ordine delle operazioni: la conversione di un filtro di dimensione in un filtro di contesto e la conversione di un calcolo tabella in un’espressione Level of detail FIXED.
Informazioni sull’ordine delle operazioni (pipeline delle query)
Di solito ti aspetti che Tableau esegua i filtri in un solo ordine, ma l’ordine delle operazioni impone che vengano eseguiti in un ordine diverso, il che dà risultati inaspettati. Quando ciò accade, a volte puoi modificare l’ordine in cui le operazioni vengono eseguite nella pipeline.
L’ordine delle operazioni di Tableau include quanto segue, dall’alto al basso.
Nota: nell’ordine delle operazioni, il filtro data più recente è globale per la cartella di lavoro, mentre i filtri di contesto vengono applicati per ogni foglio di lavoro. La data più recente viene determinata subito dopo l’apertura della cartella di lavoro per il primo utilizzo, dopo i filtri dell’origine dati, ma prima dei filtri contestuali. A quel punto viene impostata la data, mentre la data preimpostata più recente viene utilizzata come filtro delle dimensioni.
Esempio 1: convertire un filtro di dimensione in un filtro di contesto
Questo esempio e il seguente utilizzano l’origine dati Sample - Superstore fornita con Tableau Desktop.
In questo esempio, la vista risponde alla seguente domanda: chi sono i primi 10 clienti per vendite totali a New York City?
La vista contiene due filtri di dimensione, uno creato nella scheda Generale della finestra di dialogo Filtri e l’altro nella scheda Top N. Il problema è che questi filtri vengono eseguiti simultaneamente, mentre potresti voler applicare il filtro generale prima del filtro Top n, in modo che il filtro Top n possa agire sui risultati come precedentemente filtrato dal filtro generale. La soluzione consiste nel ridefinire uno dei filtri come filtro di contesto in modo che venga stabilito un ordine chiaro di precedenza.
Qui sono riportati i passaggi per generare questa vista.
Trascina Vendite su Colonne.
Trascina Città e [Nome cliente] su Righe.
Trascina di nuovo Città dal riquadro Dati, questa volta su Filtri. Nella scheda Generale della finestra di dialogo Filtro, imposta il filtro per visualizzare solo un singolo valore: New York City. A tale scopo, fai clic su Nessuno, quindi seleziona New York City.
In questo modo viene creato un filtro di dimensione generale.
Fai clic sul pulsante Ordinamento decrescente () sulla barra degli strumenti. La tua vista ora ha questo aspetto:
Nota i primi nomi nell’elenco: Ashbrook, Fuller, Vernon ecc.
Trascina adesso [Nome cliente] dal riquadro Dati su Filtri e crea un filtro Top 10 per visualizzare solo i primi 10 clienti per vendite totali:
Dopo aver applicato questo secondo filtro, la vista sembra corretta, ma noterai che i nomi mostrati non sono più gli stessi di prima:
Dov’è Peter Fuller, precedentemente al secondo posto? L’obiettivo era quello di mostrare i primi 10 clienti di New York City, ma ora la vista mostra i primi 10 clienti in generale.
Il problema è che i filtri di dimensione top e generale vengono applicati simultaneamente e sono entrambi filtri di dimensione, quindi appaiono nello stesso posto nell’ordine delle operazioni di Tableau:
La soluzione consiste nell’aggiungere il filtro di dimensione generale (in Città) al contesto, ovvero trasformandolo in un filtro di contesto, che viene eseguito prima di qualsiasi altro filtro creato in un foglio di lavoro.
Per maggiori dettagli, consulta Utilizzare i filtri contestuali.
Fai clic con il tasto destro del mouse su Città sullo spazio Filtri (CTRL+clic su Mac) e seleziona Aggiungi a contesto. Come filtro di contesto, questo filtro ha ora la precedenza sul filtro di dimensione e così la vista mostra ora quanto previsto:
Esempio 2: convertire un calcolo tabella in un’espressione Level of Detail FIXED
In questo esempio, la vista risponde alla seguente domanda: qual è la percentuale delle vendite totali per sottocategoria di prodotti?
La vista contiene un filtro di dimensione e un calcolo tabella. Tableau applica il filtro di dimensione prima di eseguire il calcolo tabella. Per invertire l’ordine di queste operazioni, utilizza un’espressione Level of Detail FIXED anziché un calcolo tabella.
Qui sono riportati i passaggi per generare questa vista.
In un nuovo foglio di lavoro, trascina Vendite su Colonne.
Trascina la Sottocategoria in Righe.
Fai clic con il pulsante destro del mouse su SUM(Sales) su Colonne e seleziona un calcolo rapido tabella, Percentuale del totale.
Fai clic sul pulsante Ordinamento decrescente () sulla barra degli strumenti per ordinare le categorie dal valore più elevato a quello meno elevato.
Fai clic sul pulsante Mostra etichette indicatori () nella barra degli strumenti per visualizzare i Valori misure nella vista.
La tua vista ora ha questo aspetto:
Nota le percentuali per i primi elementi: 14,37%, 14,30%, ecc.
Fai clic con il pulsante destro del mouse Sottocategoria su Righe e seleziona Mostra filtro.
Togli il segno di spunta per Sedie nel filtro.
Nella vista, le percentuali sono ora diverse: la percentuale più alta è ora superiore al 16%. In alcuni casi, questo potrebbe essere semplicemente il risultato che desideri (cioè, per le percentuali da ricalcolare quando utilizzi il filtro rapido). In altri casi, tuttavia, è possibile che le percentuali rimangano uniformi anche quando applichi filtri sugli elementi in entrata o in uscita. Si tratta di quello che vogliamo in questo caso.
Nell’ordine delle operazioni viene applicato un filtro di dimensione prima di un calcolo tabella:
Per fare in modo che Tableau calcoli le percentuali prima che agisca sul filtro rapido, crea un’espressione Level of Detail FIXED e quindi usa questa espressione al posto del calcolo tabella.
Le espressioni Level of Detail FIXED calcolano un valore utilizzando le dimensioni specificate, senza riferimento alle dimensioni nella vista. In questo caso lo userai per stabilire le percentuali per le varie sottocategorie/percentuali che non saranno influenzate dal filtro di dimensione generale. Perché? Perché le espressioni Level of Detail FIXED vengono calcolate prima dell’applicazione dei filtri di dimensione.
Per maggiori dettagli, consulta Creare Espressioni Level of Detail in Tableau.
L’espressione Level of Detail FIXED deve dividere la somma delle vendite (per un particolare valore di misura) per la somma totale delle vendite per la vista. Poiché il numeratore è aggregato, anche il denominatore deve essere tale, pertanto l’espressione che scrivi è:
SUM([Sales])/SUM({FIXED : SUM([Sales])})
Salva l’espressione come FixedSumOfSales e quindi trascinala dal riquadro Dati su Colonne, rilasciandola a destra del campo SUM(Sales) esistente che utilizza il calcolo tabella (tienili entrambi nella vista per il confronto). Ecco come appare la vista:
I numeri percentuali nel grafico a destra sono ora coerenti, indipendentemente dai campi selezionati o non selezionati con il filtro rapido. Tutto ciò che rimane da fare è formattare i valori per FixedSumOfSales in modo che siano visualizzati come percentuali.
Fai clic con il pulsante destro del mouse su FixedSumOfSales su Colonne e scegli Formato. Nel riquadro Formato scegli Numeri e quindi Percentuale:
In questo modo ottieni la vista finale:
Selezionando o togliendo elementi nel filtro rapido Sottocategoria, le percentuali nel grafico a barre a sinistra cambiano, ma le percentuali nel grafico a barre a destra non cambiano.