Tableau 的操作順序
Tableau 中的動作順序(有時稱為查詢管道)是指 Tableau 將執行各種動作的順序。動作也稱為動作。許多操作都應用篩選器,這意味著,在您構建檢視和新增篩選器時,這些篩選器始終按操作順序所建立的循序執行。
觀看視訊:若要檢視 Tableau 中示範的相關概念,請觀看時長 1 小時的瞭解 Tableau 的操作順序(連結在新視窗開啟)免費示範影片。
本文包括兩個用於更新檢視來糾正操作順序所產生問題的方案:將維度篩選器轉換為上下文篩選器,以及將表計算轉換為 FIXED 詳細資料層級運算式。
關於操作順序(也稱為查詢管道)
有時,您可能預計 Tableau 會按一個循序執行篩選器,但操作的順序決定的篩選器按不同的循序執行,則結果可能會出人意料。如果發生這種情況,您有時可以變更操作在管道中執行的順序。
Tableau 的作業順序如下(由上至下)。
附註:在操作順序中,最新日期篩選器將全域應用於工作簿,而上下文篩選器則按工作簿應用。最新日期在工作簿開啟第一次使用、篩選資料來源之後但在篩選上下文之前確定。此時日期已設定,並且使用最新日期預設作為維度篩選器。
範例 1:將維度篩選器轉換為上下文篩選器
本範例以及以下範例使用 Tableau Desktop 附帶的「Sample – Superstore」資料來源。
在此範例中,檢視解決以下問題:按總銷售額計,紐約市位居前 10 名的客戶有哪些?
檢視包含兩個維度篩選器,一個您在「篩選器」對話方塊的「常規」索引標籤上建立的篩選器,以及另一個在「前 N 個」索引標籤上建立的篩選器。問題在於,這些篩選器是同時執行的,而您希望常規篩選器在「前 N 個」篩選器之前應用,以便「前 N 個」篩選器可對常規篩選器預先篩選的結果進行操作。解決方案是將其中一個篩選器重新定義為上下文篩選器,以便建立清晰的優先順序順序。
以下是用於組建此檢視的步驟。
將「銷售額」拖到「欄」。
將「City」(城市)和「Customer Name」(客戶名稱)拖到「列」。
再次從「資料」窗格中拖出「City」(城市),這次將其拖到「篩選器」。在「篩選器」對話方塊的「常規」索引標籤上,將篩選器設定為僅顯示單一值:「New York City」(紐約市)。透過按一下「無」然後選取「New York City」(紐約市)可達到此目的。
這將建立一個常規維度篩選器。
按一下工具列上的「降冪排序」按鈕 ()。檢視現在將如下所示:
注意清單中的前幾個名稱:Ashbrook、Fuller、Vernon 等。
現在將「Customer Name」(客戶名稱)從「資料」窗格拖到「篩選器」,並建立一個「前 10 個」篩選器,以僅顯示按總銷售額計的前 10 名客戶。
應用了這第二個篩選器後,檢視看起來是正確的,但您會注意到顯示的名稱與之前不再相同:
之前位於第二位的 Peter Fuller 發生了什麼情況?目標是顯示紐約市的前 10 名客戶,但現在檢視實際顯示的是總體的前 10 名客戶。
問題在於「前 N 個」篩選器和常規維度篩選器是同時應用的 — 它們都是維度篩選器,並且按 Tableau 操作順序出現在同一位置:
解決方案是向上下文中新增(針對「City」(城市)的)常規維度篩選器 — 即,將其轉換為一個上下文篩選器,該篩選器將先於在工作表中建立的任何其他篩選器執行。
有關詳情,請參閱使用內容篩選器。
在「篩選器」架上以右鍵按一下(在 Mac 上,Control + 按一下)「City」(城市),並選取「新增到上下文」。作為上下文篩選器,此篩選器現在優先於維度篩選器,因此檢視現在將按預期方式顯示:
範例 2:將表計算轉換為 FIXED 詳細資料層級運算式
在此範例中,檢視解決以下問題:占總銷售額的百分比將如何按產品子類列出?
檢視包含一個維度篩選器和一個表計算。Tableau 會在執行表計算之前應用維度篩選器。若要反轉這些操作的順序,請使用 FIXED 詳細資料層級運算式來取代表計算。
以下是用於組建此檢視的步驟。
在新工作表中,將「Sales」(銷售額)拖到「欄」。
將「Sub-Category」(子類)拖到「列」。
在「欄」上以右鍵按一下「SUM(Sales)」並選取快速表計算 –「總額百分比」。
按一下工具列上的「降冪排序」按鈕 (),按從最多到最少的順序對類別進行排序。
按一下工具列上的「顯示標記標籤」按鈕 (),以在檢視中顯示度量值。
檢視現在將如下所示:
注意前幾項的百分比:14.37%、14.30% 等。
在「列」上以右鍵按一下「Sub-Category」(子類),並選取「顯示篩選器」。
清除篩選器中「Chairs」(椅子)的核取記號。
檢視中的百分比現在有所不同 — 最高的百分比現在超過了 16%。在某些情況下,這可能就是您需要的結果(即,在使用快速篩選器時對百分比進行重新計算)。但在其他情況下,您可能希望百分比即使在您篩選進或篩選出某些專案時也保持穩定。這是我們在本例中所需要的。
在操作順序中,維度篩選器是在表計算之前應用的。
若要讓 Tableau 在運用快速篩選器之前計算百分比,您可以建立一個 FIXED 詳細資料層級運算式,然後使用該運算式來取代表計算。
FIXED 詳細層級運算式使用指定的維度計算值,而不引用檢視中的維度。在本例中,您將使用它來建立各個子類的百分比 — 不會受常規維度篩選器影響的百分比。為何會這樣?原因是,FIXED 詳細資料層級運算式是在應用維度篩選器之前計算的。
有關詳情,請參閱在 Tableau 中建立詳細層級運算式。
FIXED 詳細資料層級運算式必須將(特定度量值的)「Sales」(銷售額)的和除以檢視的「Sales」(銷售額)的總和。由於分子是彙總的,因此分母也必須為彙總,所以您編寫的運算式為:
SUM([Sales])/SUM({FIXED : SUM([Sales])})
將該運算式另存新檔為「FixedSumOfSales」,然後將其從「資料」窗格拖到「列」,放在使用表計算的現有「SUM(Sales)」欄位的右側。(將兩者都保留在檢視中以便於比較。)您的檢視現在將如下所示:
不管您使用快速篩選器選取或者不選取哪些欄位,右側圖表中的百分比現在都保持一致。現在只需設定「FixedSumOfSales」值的格式,以使其顯示為百分比。
在「列」中以右鍵按一下「FixedSumOfSales」,並選取「設定格式」。在「設定格式」窗格中,選取「數位」,然後選取「百分比」:
這樣就得到了最終檢視:
當您在「Sub-Category」(子類)快速篩選器中選取或清除專案時,左側橫條圖中的百分比將發生變化,而右側橫條圖中的百分比則不會。