Tableaus åtgärdsordning
Ordningsföljden för åtgärder i Tableau, ibland kallad ”frågepipelinen”, är den ordning i vilken Tableau utför olika åtgärder. Åtgärder kallas också ”insatser”. Många insatser använder filter, vilket innebär att när du skapar en vy och lägger till filter körs dessa filter alltid i den ordning som fastställts av insatsordningen.
Titta på en video: För att se relaterade koncept som demonstreras i Tableau, titta på Förstår insatsordningen i Tableau(Länken öppnas i ett nytt fönster), en 1-timmes, gratis videopresentation.
Den här artikeln innehåller två scenarier för att uppdatera en vy med syfte att rätta till problem som uppstår till följd av insatsordningen: konvertera ett dimensionsfilter till ett kontextfilter och konvertera en tabellberäkning till en FIXED detaljnivå.
Om insatsordningen (även kallad ”frågepipeline”)
Ibland kan du förvänta dig att Tableau kör filter i en viss ordning, men insatsordningen kräver att de körs i en annan ordning, vilket ger dig oväntade resultat. När detta händer kan du ibland ändra den ordning i vilken insatser körs i pipelinen.
Tableaus insatsordning omfattar följande, uppifrån och ned.
Obs! I insatsordningen är det senaste datumfiltret globalt för arbetsboken, medan kontextfilter gäller per arbetsblad. Det senaste datumet fastställs när arbetsboken öppnas för första gången, efter datakällsfilter, men före kontextfilter. Datumet ställs in och den senaste datuminställningen används som ett dimensionsfilter.
Exempel 1: Konvertera ett dimensionsfilter till ett kontextfilter
Detta och följande exempel använder datakällan Sample – Superstore som medföljer Tableau Desktop.
I det här exemplet behandlar vyn följande fråga: Vilka är de tio största kunderna, räknat i total försäljning, i New York City?
Vyn innehåller två dimensionsfilter, ett som du skapar på fliken Allmänt i dialogrutan Filter, och det andra på fliken Översta n. Problemet är att dessa filter körs samtidigt, medan du vill att det allmänna filtret ska tillämpas före filtret Översta n, detta så att filtret Översta n kan agera på resultaten som tidigare filtrerats av det allmänna filtret. Lösningen är att omdefiniera ett av filtren som ett kontextfilter så att en tydlig rangordning fastställs.
Detta är stegen för att skapa den här vyn.
Dra Försäljning till Kolumner.
Dra Stad och [Kundnamn] till Rader.
Dra Stad från rutan Data igen, den här gången till Filter. På fliken Allmänt i dialogrutan Filter ställer du in filtret så att det bara visar ett enda värde: New York City. Gör detta genom att klicka på Ingen och sedan välja New York City.
Detta skapar ett allmänt dimensionsfilter.
Klicka på knappen Sortera fallande () i verktygsfältet. Vyn ser nu ut så här:
Notera de första namnen i listan: Ashbrook, Fuller, Vernon, osv.
Dra nu [Kundnamn] från rutan Data till Filter och skapa ett Topp 10-filter för att endast visa de 10 bästa kunderna efter total försäljning:
När du har använt det andra filtret ser vyn rätt ut, men observera att namnen som visas inte längre är desamma som tidigare:
Vad hände med Peter Fuller, tidigare på andra plats? Målet var att visa de 10 bästa kunderna i New York City, men nu visar vyn faktiskt de 10 bästa kunderna totalt.
Problemet är att topp- och generella dimensionsfilter appliceras samtidigt - de är båda dimensionsfilter, och de visas på samma plats i Tableau-insatsordningen:
Lösningen är att lägga till det allmänna dimensionsfiltret (på City) i sammanhanget - det vill säga genom att omvandla det till ett kontextfilter som körs före något annat filter som du skapar i ett arbetsblad.
Mer information finns i Använda kontextfilter.
Högerklicka på Stad på hyllan Filter (Control + klick på en Mac) och välj Lägg till i sammanhang. Som ett kontextfilter har det här filtret nu företräde framför dimensionsfiltret, varför vyn nu visar det som det är avsett att visa:
Exempel 2: Konvertera en tabellberäkning till en FIXED detaljuttrycksnivå
I det här exemplet behandlar vyn följande fråga: Hur stor är procentandelen av den totala försäljningen per produktunderkategori?
Vyn innehåller ett dimensionsfilter och en tabellberäkning. Tableau tillämpar dimensionsfiltret innan tabellberäkningen utförs. Om du vill invertera ordningsföljden för dessa insatser använder du ett LOD-uttryck av typen istället för en tabellberäkning.
Detta är stegen för att skapa den här vyn.
Dra Försäljning till Kolumneri ett nytt arbetsblad.
Dra Underkategori till Rader.
Högerklicka på SUMMA(Försäljning) i Kolumner och välj en snabb tabellberäkning – Procent av summa.
Klicka på knappen Sortera fallande () i verktygsraden för att sortera kategorierna från störst till minst.
Klicka på knappen Visa markeringsetiketter () i verktygsfältet för att visa mätvärden i vyn.
Vyn ser nu ut så här:
Notera procentsatserna för de första posterna: 14,37 %, 14,30 % osv.
Högerklicka på Underkategori på Rader och välj Visa filter.
Avmarkera bocken för Stolar i filtret.
I vyn är procentsatserna nu annorlunda - den högsta procentsatsen ligger nu på över 16%. I vissa fall kan detta vara just det resultat som du vill ha (det vill säga att procentsatserna ska räknas om när du arbetar med snabbfiltret). I andra fall kanske du emellertid vill att procentsatserna ska ligga stadigt även när du filtrerar objekt in eller ut. Det är vad vi vill ha i det här fallet.
I insatsordningen tillämpas ett dimensionsfilter före en tabellberäkning:
Om du vill att Tableau ska beräkna procentsatserna innan det inverkar på snabbfiltret skapar du ett LOD-uttryck av typen FIXED och använder denna i stället för tabellberäkningen.
LOD-uttrycket FIXED beräknar ett värde med hjälp av de angivna dimensionerna, utan att referera till dimensionerna i vyn. I det här fallet använder du det för att fastställa procentsatser för de olika underkategorierna - procentsatser som inte påverkas av det allmänna dimensionsfiltret. Varför? Eftersom ett LOD-uttryck av typen FIXED beräknas innan dimensionsfilter används.
Du hittar mer information i Skapa LOD-uttryck i Tableau.
LOD-uttrycket av typen FIXED måste dividera summan av Försäljning (för ett visst mätvärde) med den totala summan av Försäljning för vyn. Eftersom täljaren är aggregerad måste även nämnaren finnas, varför uttrycket du skriver är:
SUM([Sales])/SUM({FIXED : SUM([Sales])})
Spara uttrycket som FixedSumOfSales och dra det sedan från rutan Data till kolumnernaoch släpp det till höger om det befintliga fältet SUMMA(försäljning) som använder tabellberäkningen. (Behåll dem båda i vyn i jämförelsesyfte.) Så här ser din vy ut nu:
Procentsatserna i diagrammet till höger är nu konsekventa, oavsett vilka fält du markerar eller inte markerar med snabbfiltret. Allt som nu återstår är att formatera värdena för FixedSumOfSales så att de anges i procent.
Högerklicka på FixedSumOfSales i Kolumner och välj Format. I rutan Format väljer du Tal och sedan Procent:
Detta ger dig den slutliga vyn:
När du markerar eller rensar objekt i snabbfiltret Underkategori ändras procentandelarna i stapeldiagrammet till vänster men inte procentandelarna i stapeldiagrammet till höger.