工作簿優化器

工作簿優化器是一種工具,可識別工作簿是否遵循某些效能最佳作法。這些指南僅限於可以從工作簿的中繼資料中剖析並由規則引擎算法評估的內容。並非所有建議都適用於或適合每個工作簿。最佳化程式無法獲取多方效能,其中一些可以讓做事效率輕鬆許多。有關詳情,請參閱簡化工作簿和白皮書設計高效能的生產工作簿

執行工作簿優化器

Tableau Desktop

工作簿最佳化程式可從「伺服器」功能表或發佈對話方塊中獲得。

  1. 「伺服器」功能表中,按一下「最佳化程式」
  2. 將根據準則自動評估工作簿,結果將顯示為以下三個類別之一:採取動作、需要檢閱或通過(或通過並忽略)。
    • 可能會看到少於三個類別。如果沒有準則屬於某個類別,則不會顯示該類別。
    • 展開每個類別以查看準則。還可以展開每條準則,以獲取有關推薦理由的更多資訊。有些具有特定於工作簿的其他資訊。
    • 可以選擇解決任何或不解決任何準則。由於執行最佳化程式是發佈過程中的自願步驟,它並不會阻止您發佈。
  3. 要關閉對話方塊並返回工作簿,請按一下「關閉」。
  4. 要關閉對話方塊並返回發佈對話方塊,請按一下「發佈」。

在 Web 製作過程中

工作簿最佳化程式可從 Web 創作中的發佈功能表和發佈對話方塊中獲得。

優化器類別

優化器將其指南分為三類:採取行動、待審查和通過。

採取行動表示更新工作簿以遵循這些最佳做法應該對工作簿的功能影響最小甚至沒有影響。可能沒有理由避免進行這些變更。

待審查表明,遵循這些最佳作法可能涉及以更複雜的方式修改工作簿,例如重組資料來源或簡化儀表板。

  • 對於這些指南,請使用您的最佳判斷來確定可以解決的問題或切實可行的問題。
  • 有些建議可能需要付出很多努力才能獲得最小效能提升,並不值得。
  • 使用效能記錄器獲取效能基準可能很有用。
  • 有些可能是您做出的深思熟慮的選擇。

作為作者,您是如何使工作簿盡可能高效的最終權威。請記住,為了有效地交付內容,應該打破一些最佳作法。始終權衡工作簿的目標與改進效能的變更。

通過表示符合準則並且工作簿已經遵循該領域的最佳作法。但請記住,優化器對效能的許多方面都無法捕捉到。如果忽略工作簿的任何準則,則此類別將重命名為「通過並忽略」

忽略方針

方針並不總是適合你。也許您要發佈一個範本工作簿供其他人使用,並且需要保留未使用的欄位和資料來源。您不希望最佳化程式繼續通知您有關這些方針的資訊。

可以忽略工作簿的方針。

  1. 針對特定方針,按一下「忽略」按鈕。
    • 將該方針設定為靜音並移至「通過並忽略」部分。即使再次執行最佳化程式,該方針也不會出現在「採取動作」或「需要審核」部分中。
  1. 要繼續評估該方針,請在「通過並忽略」部分中找到它的行,然後再按一下「忽略」按鈕。
    • 最佳化程式再次執行並評估該方針。最佳化程式每次執行時都會繼續檢查它。

自動修復方針

來自工作簿最佳化程式的一些建議可以在沒有使用者輸入的情況下實施。針對這些方針,可使用一個按鈕自動修復規則。如果該按鈕未出現,則必須手動解決該問題。

針對具體方針,按一下「自動修復」按鈕。

  • 建議的動作(例如關閉未使用的資料來源)在幕後進行,將該方針移至「通過」。
  • 如果因任何原因自動修復失敗,會收到通知並提示您手動解決問題。
  • 如果該按鈕不可用,則該方針無法自動修復,必須手動解決。

指南

每個指南都包含一個「consider」陳述式,該陳述式提出解決效能影響的潛在方法。這些必須項目非常原則性,可能並不適用於所有情況。這些建議只是一個起點;自始至終都還是要根據環境和工作簿目標來制定決策。

附註:並非所有建議都可以在瀏覽器中執行,可能需要變更為在 Tableau Desktop 中編輯


按字母導航到某個方針: ABCDEFGHIĴKLMNOPQRSTUVWXYZ


計算長度

從工作簿優化器

輸出訊息範例我的計算這個計算長度為 600 個字元

計算複雜計算的結果會影響效能。

考慮將計算拆分並將任何可能的內容移至資料庫,或使用 Tableau Prep 在分析之前建立計算。

其他資訊

複雜和長計算可以寫入單個計算或寫成巢狀(元件作為獨立計算編寫並在較大計算中使用)。使用巢狀元件建立計算可能會使故障排除和維護變得更容易,但它可能會增加複雜性和額外的處理。如果可以,將這些元件推回資料來源可能有助於提高效能。

計算中的註釋計入長度,因此本指南可能由長註釋而不是長而復雜的計算觸發。


計算將使用多個資料來源

從工作簿優化器

範例輸出訊息:資料來源供應鏈包括 17 個使用來自另一個資料來源欄位的計算。

當計算使用來自多個資料來源的欄位時,Tableau 無法利用任何優化,必須在本機計算所需計算。

請考慮使用 Tableau Prep 建立計算並使用擷取。

其他資訊

將跨資料庫計算移至資料\層,可以在使用者請求儀表板之前執行處理。有關詳情,請參閱聯結資料 (Prep)建立詳細資料層級和排名計算

在某些情況下,參數可能會觸發此指南。如果指示計算不使用多個資料來源,請檢查它是否具有參數以及該參數是否可以簡化。


儀表板大小不固定

從工作簿優化器

範例輸出訊息:儀表板 Q3 分析不是固定大小。

可以快取固定大小的儀表板,因為它們的大小是可預測的。使用自動儀表板大小調整意味著結果取決於使用者的螢幕,因此必須每次都呈現儀表板。更頻繁地呈現儀表板會帶來效能損失。

考慮使用固定的儀表板大小調整。

其他資訊

雖然回應式元素是 Web 設計中的最佳做法,但讓儀表板能夠調整大小可能會扭曲內容的版面配置,而且重新呈現會影響效能。對於 Tableau 視覺效果,最好使用固定的儀表板大小,並使用裝置特定的儀表板來支援不同的裝置和螢幕大小。


篩選器使用條件式邏輯

從工作簿優化器

範例輸出訊息:篩選器範例類型使用條件式邏輯。

維度篩選可以透過多種方式完成,例如在值清單上完成、藉助萬用字元比對或使用條件式邏輯。條件式邏輯可能很慢。

請考慮將篩選器變更為不使用條件式邏輯。如有必要,請確保首先對最常見的結果進行邏輯測試,並盡可能使用 ELSEIF 或 CASE。

其他資訊

有關篩選的更多資訊,請參閱篩選資料


篩選器使用「僅相關值」

從工作簿優化器

範例輸出訊息:篩選器範例類型使用「僅相關值」。

篩選器使用「僅相關值」時,互動式篩選器控制項僅顯示在檢視的當前狀態下適用的選項。每次對其他篩選器進行變更時,都必須重新查詢要顯示的值清單,這會影響效能。

請考慮改用儀表板篩選器動作。若終端使用者的獲益足夠有價值,以致於應該使用此功能,請考慮擷取資料並最佳化擷取。

其他資訊

在某些情況下,必須使用「僅相關值」,以避免產生笨拙的篩選器清單。在這種情況下,不要使用互動式篩選器,請嘗試使用動作篩選器。例如,請考慮如下儀表板:具有針對類別、子類別和產品 ID 的串聯篩選器,其中產品 ID 設定為顯示「僅相關值」。取消該限制將顯著擴大產品清單。可以建置簡單的視覺效果(例如類別和子類別的橫條圖),並將其用作篩選器,而不是使用篩選器。使用者按一下某個橫條,動作篩選器會套用於儀表板上的其餘視覺效果。有關詳細資訊,請參閱儀表板動作


即時資料連線

從工作簿優化器

範例輸出訊息:資料來源供應鏈不是擷取。

Tableau 擷取旨在盡可能高效地用於分析。由於資料來源的原因,使用擷取是提高效能的最簡單的方法之一。擷取還具有許多針對最佳化的原生功能。

請考慮擷取資料來源。

其他資訊

在某些執行個體中,擷取資料可能會給 Tableau Server 或 Tableau 站台的資源帶來不必要的壓力。與您的 Tableau 管理員一起確定最佳行動方案。

白皮書《設計高效的工作簿》包含有關擷取以及如何利用它們來提高效能的大量資訊。(可能需要登入才能存取白皮書。)

資料來源中的多個連線

從工作簿優化器

輸出訊息範例:資料來源供應鏈使用多個資料連線。

不能在本機計算包含多個連線的資料來源。

請考慮在 Tableau Prep 中合併資料來源並使用擷取進行分析。

其他資訊

有關詳細資訊,請參閱聯結資料 (Prep)


巢狀計算

從工作簿優化器

範例輸出訊息:計算我的計算引用了另一個計算。

巢狀計算會增加複雜性和額外的處理程序,對於 IF 陳述式和其他效能密集型函數更是如此。

請考慮將計算推送到資料來源或在擷取中具體化計算。

其他資訊

對於不在可視化項本身中但由可視化項中的計算引用的計算,可能會觸發此規則。例如,試想四個欄位:

  1. Points earned(資料來源中的一個欄位)
  2. Quiz score = [Points earned]*10
  3. Curved grade = [Quiz score]*1.05
  4. Letter grade = IF [Curved grade] >= 90 THEN "A" ELSEIF [ Curved grade] >= 80 THEN "B" ELSEIF [Curved grade] >=70 THEN "C" ELSEIF [Curved grade] >=60 THEN "D" ELSE "F" END

Quiz score 是僅引用欄位的非嵌套計算。Curved grade Letter grade 都是嵌套計算,因為它們包含對其他計算的引用。即使 viz 中只使用了 Letter gradeCurved grade 也會觸發嵌套計算規則,因為在 Letter grade 中會使用。

有關在擷取中具體化計算的更多資訊(立即計算),請參閱在擷取中實現計算

有關在 Tableau Prep 中建置計算的詳細資訊,請參閱 Tableau Prep 中的計算


未實現計算

從工作簿優化器

輸出訊息範例:尚未預先計算資料來源供應鏈

計算計算結果會影響效能。

盡可能考慮將計算推送到資料來源。如果使用擷取,實現計算以預先計算其結果。

其他資訊

在資料擷取或後端資料來源中預先計算資料和計算。通過將此附加處理移至資料層,該處理甚至在用戶請求儀表板之前就可完成。

擷取資料通常會提高效能,儘管在資料新鮮度和某些功能方面存在折衷。有關資料擷取選項的更多資訊,請參閱擷取資料;有關實現計算的更多資訊,請參閱在擷取中實現計算

擷取資料::對「資料」窗格頂部的資料來源名稱按滑鼠右鍵,然後選取「擷取資料」。在配置對話框方塊中,選擇「立即計算」


資料來源數量

從工作簿優化器

輸出訊息範例:工作簿包含 17 個資料來源。

每個資料來源都會影響 Tableau 載入和呈現工作簿所花費的時間。

如果可以,請考慮合併資料來源,尤其是在粒度層級相同或它們支源相同分析時。

其他資訊

有關合併資料來源的詳細資訊,請參閱與您的資料建立關聯,或考慮使用 Tableau Prep。

但是,請注意不要過度合併資料來源。每種類型的分析都建立在設計良好的資料來源之上時,工作簿的效能才會最好。如果很難合併資料來源,這可能代表分析應該分成多個工作簿,每個工作簿都有更明確的目的。

要將分析拆分到多個工作簿,請嘗試以下方法之一:

  • 儲存工作簿的副本並從每中刪除不必要的工作表、儀表板和資料來源。有關詳情,請參閱簡化工作簿。
  • 將特定工作表複製到新工作簿中。這可能更有效,因為將儀表板複製到新工作簿中只會保留該儀表板所需的內容。但是,並不是可以輸送所有格式選項。有關詳細資訊,請參閱在工作簿之間複製資訊

篩選器數量

從工作簿優化器

輸出訊息範例Classroom Distribution這張 Google 試算表包含 17 個篩選器。

檢視上過多篩選器會建立更複雜的查詢。

請考慮減少篩選器的數量並盡可能使用篩選器動作。並非所有類型和格式的篩選器在效能方面都是相同的,因此請考慮優化必要的篩選器。

其他資訊

設計高效生產工作簿白皮書有一整個關於篩選器更詳細內容的區段。簡而言之:

  • 減少篩選器的數量
  • 套用於多個工作表的篩選器會在每次變更時觸發多個查詢
  • 限制使用僅顯示相關值 。必要時請使用擷取將有助於優化此功能。
  • 避免高基數包含/排除篩選器
  • 當使用者與篩選器互動時,使用「套用」按鈕防止多次重新整理
  • 篩選檢視中存在的欄位
  • 使用連續日期篩選器而不是離散日期篩選器
  • 內容篩選不應單純用於提高效能

篩選器動作是引導使用者熟悉儀表板的有效方式。有關詳情,請參閱篩選動作動作。


版面配置容器的數量

從工作簿優化器

範例輸出訊息:儀表板 Q3 分析包含 42 個版面配置容器。

版面配置容器會複雜化儀表板呈現。

請考慮移除不必要的版面配置容器,並簡化儀表板設計。

其他資訊

有關版面配置容器和版面配置窗格的詳細資訊,請參閱使用配置容器組合專案


LOD 計算次數

從工作簿優化器

輸出訊息範例:工作簿包含 42 個 LOD 計算。

計算複雜計算的結果會影響效能。通常,即時使用 LOD 來解決可以在分析之前處理的資料來源中的粒度問題。

考慮為分析定制資料來源,以避免需要太多的 LOD。

其他資訊

詳細等級計算是強大的工具,但價格昂貴。請確保僅在必要時使用它們。

生產資料庫旨在處理大量查詢負載,並且是將處理移出 Tableau 的絕佳選擇。FIXED LOD 計算有時可以由資料庫執行。Tableau Prep 還支援 FIXED LOD 計算。有關詳情,請參閱創建詳細等級和排名計算


儀表板中的檢視數量

從工作簿優化器

輸出資料範例:儀表板Q3 分析包含 17 個檢視

儀表板必須先載入所有元素才能顯示。儀表板包含的檢視越多,載入所需的時間就越長。儘管它通常會需要重新設計,但減少儀表板中的檢視數量通常是提高其效率的最佳方式。

請考慮減少檢視、篩選器和其他元素的數量來簡化儀表板,使其盡可能有效而簡單。從任何可以立即移除的東西開始。有關讓儀表板更整齊的其他方法,請參閱簡化工作簿

其他資訊

如果需要進行後續重新設計,請記住並非所有檢視都會對效能產生相同影響。著重於標記、篩選器或其他複雜性最多的 Google 試算表。好的策略可以是將初始儀表板限縮為摘要資訊,並且僅在使用者請求時提供其他詳細資訊。這種引導式向下挖掘有許多策略,包括:


工作簿的 Google 試算表張數

從工作簿優化器

輸出訊息範例:工作簿包含 42 個可見 Google 試算表

工作簿的整體大小會影響處理和顯示所需的時間。必須先載入所有可見 Google 試算表,Tableau 才能顯示工作簿或檢視。減少 Google 試算表張數量有助於加快載入時間。

請嘗試關閉不需要的 Google 試算表、隱藏儀表板中使用的 Google 試算表,或將分析拆分為多個工作簿來以減少工作簿中的Google 試算表數量。

其他資訊

刪除分析不需要的 Google 試算表:在工作簿底部的 Google 試算表索引標籤按滑鼠右鍵,然後選取「刪除」。

隱藏使用中的 Google 試算表:在儀表板窗格或本文中使用的工作表無法刪除,但可以隱藏。請參閱管理儀表板窗格和本文中的工作表以獲得更多資訊。

  • 若要隱藏儀表板中所有的 Google 試算表,請在工作簿底部的儀表板索引標籤按滑鼠右鍵,並選取「隱藏所有 Google 試算表」。
  • 隱藏特定 Google 試算表:在工作簿底部的 Google 試算表索引標籤按滑鼠右鍵,然後選取「隱藏」。

如果所有 Google 試算表都需要使用,請決定是否可以將分析拆分為多個工作簿,每個工作簿都有更明確的目的。

  • 儲存工作簿的副本並從每中刪除不必要的工作表、儀表板和資料來源。有關詳情,請參閱簡化工作簿。
  • 將特定工作表複製到新工作簿中。這可能更有效,因為將儀表板複製到新工作簿中只會保留該儀表板所需的內容。但是,並不是可以輸送所有格式選項。有關詳細資訊,請參閱在工作簿之間複製資訊

未使用的資料來源

從工作簿優化器

輸出訊息範例:工作簿中未使用資料來源供應鏈

每個資料來源都會影響 Tableau 載入和呈現工作簿所花費的時間。

請考慮關閉未使用的資料來源。

其他資訊

如果沒有使用任何資料來源,請關閉它們:在「資料」窗格頂部對資料來源名稱按滑鼠右鍵,然後選取「關閉」


未使用的欄位

從工作簿優化器

輸出訊息範例:資料來源供應鍵包含 42 個未使用的欄位。

隱藏未使用的欄位可防止其被不必要地查詢並減少擷取的大小。

請考慮隱藏所有未使用的欄位,無論資料來源是否為資料擷取。

其他資訊

隱藏未使用的欄位

  • 在 Tableau Desktop 中:開啟「資料」窗格頂部的下拉式功能表,然後選取「隱藏所有未使用的欄位」
  • 在 Web 製作中:在未使用的欄位按滑鼠右鍵並選取「隱藏」 。無法在 Web 製作中大量隱藏未使用的欄位。如果不敢單獨隱藏欄位,請考慮在 Tableau Desktop 中進行編輯,而不是在瀏覽器中工作。

使用資料混合

從工作簿優化器

範例輸出訊息:工作表教室分佈使用資料混合。

資料混合效能由連結欄位中唯一成員的數量驅動。

請盡可能考慮使用關係。若需要混合,請嘗試使用低基數連結欄位。

其他資訊

幾種方法可以合併來自多個來源的資料。資料混合會將兩個單獨的查詢傳送到兩個單獨的資料來源,並將結果一起顯示在視覺效果中。這些查詢位於連結欄位層級,結果合併在 Tableau 的記憶體中。大型查詢結果需要更多處理程序才能產生最終視覺效果。

提示:若未使用資料混合,但工作簿最佳化程式未履行此規則,請檢查工作簿是否使用跨資料來源篩選。跨資料來源篩選會遇到與欄位基數相關的類似效能問題。


使用日期計算

從工作簿優化器

輸出訊息範例:資料來源供應鏈包含 17 個日期計算。

日期邏輯可能很複雜。最大限度地減少必須在 Tableau 中進行的日期計算和轉換。

請考慮在其他方法之前使用 DATEPARSE 和 MAKEDATE,並盡可能嘗試使用 DATEDIFF() 等內建函數。若按日期篩選,請使用相對日期篩選器或連續日期篩選器,而不是離散篩選器。

其他資訊

在 Tableau 中進行計算可能會對效能產生重大影響,尤其是日期函數。請考慮進行擷取和具體化計算,或將計算推送到資料來源。有關在 Tableau Prep 中建置計算的詳情,請參閱在 Tableau Prep 中建立計算

附註:若日期計算巢狀於另一個計算中,最佳化程式將傳回巢狀日期計算的名稱,即使父計算是視覺效果中使用的欄位。


使用分組

從工作簿優化器

輸出訊息範例:資料來源供應鏈使用 17 個分組欄位

Tableau 的原生分組功能會載入欄位的整個網域,這可能會對效能產生影響。

請考慮將計算欄位與 CASE 陳述式或集合一起使用,而不是群組。

其他資訊

在為《設計高效工作簿》白皮書執行的測試中,使用 CASE 和集合進行分組的效能優於原生分組功能。

CASE 函數可用於建立群組。想像資料涉及一副紙牌的情境。其中具有針對紙牌值(2-10、J、Q、K、A)的欄位,但分析應該將非數字牌與數字牌進行比較。進行分組的 CASE 陳述式可以是

CASE [Value]
        WHEN "J" THEN "Face card"
        WHEN "Q" THEN "Face card"
        WHEN "K" THEN "Face card"
        ELSE "Number card"
        END

集合具有集合動作的額外優勢,這些優勢可讓集合比傳統分組功能更強大和靈活。有關詳細資訊,請參閱建立集合集合動作

感謝您的意見反應!已成功提交您的意見回饋。謝謝!