提高 Power Pivot 性能的 10 種方法

當您將 Power Pivot 報告發佈到 Web 時,您打算為您的受眾提供最佳體驗。這種體驗的很大一部分是確保性能良好。性能一詞(因為它與應用程序和報告有關)通常與速度同義——或者應用程序執行某些操作的速度有多快,例如在瀏覽器中打開、運行查詢或過濾。

1限制數據模型表中的行數和列數。

對 Power Pivot 性能的一個巨大影響是您引入或導入到數據模型中的列數。您導入的每一列都是 Power Pivot 在加載工作簿時必須處理的另一個維度。不要“以防萬一”導入額外的列——如果您不確定是否會使用某些列,就不要引入它們。如果您發現以後需要這些列,這些列很容易添加。

更多的行意味著更多的數據要加載,更多的數據要過濾,更多的數據要計算。如果沒有必要,請避免選擇整個表格。使用源數據庫中的查詢或視圖僅篩選需要導入的行。畢竟,當您可以使用簡單的 WHERE 子句而只導入 100,000 行數據時,為什麼還要導入 400,000 行數據呢?

2使用視圖而不是表格。

說到視圖,為了最佳實踐,請盡可能使用視圖。

儘管表比視圖更透明——允許您查看所有原始的、未過濾的數據——它們提供了所有可用的列和行,無論您是否需要它們。為了將 Power Pivot 數據模型保持在可管理的大小,您經常被迫採取額外的步驟,明確過濾掉不需要的列。

視圖不僅可以提供更清晰、更用戶友好的數據,還可以通過限制導入的數據量來幫助簡化 Power Pivot 數據模型。


提高 Power Pivot 性能的 10 種方法

3避免多層次的關係。

關係數和關係層數都會影響 Power Pivot 報表的性能。構建模型時,請遵循最佳實踐,並擁有一個主要包含定量數值數據(事實)和與事實直接相關的維度表的事實表。在數據庫世界中,這種配置是星型模式,如圖所示。

避免構建維度表與其他維度表相關的模型。

4讓後端數據庫服務器做處理。

大多數不熟悉 Power Pivot 的 Excel 分析師傾向於直接從其外部數據庫服務器上的表中提取原始數據。將原始數據放入 Power Pivot 後,他們會構建計算列和度量以根據需要轉換和聚合數據。例如,用戶通常提取收入和成本數據,然後在 Power Pivot 中創建一個計算列來計算利潤。

那麼當後端服務器可以處理它時,為什麼要讓 Power Pivot 來做這個計算呢?現實情況是,後端數據庫系統(如 SQL Server)能夠比 Power Pivot 更有效地塑造、聚合、清理和轉換數據。為什麼不在將數據導入 Power Pivot 之前利用其強大的功能來處理和調整數據?

與其提取原始表數據,不如考慮利用查詢、視圖和存儲過程來執行盡可能多的數據聚合和處理工作。這種利用減少了 Power Pivot 必須執行的處理量並自然地提高了性能。

5注意具有非不同值的列。

具有大量唯一值的列對 Power Pivot 性能特別不利。在高級 Power Pivot 報告和儀表板中,通常不需要事務 ID、訂單 ID 和發票編號等列。因此,除非需要它們來建立與其他表的關係,否則請將它們排除在您的模型之外。


提高 Power Pivot 性能的 10 種方法

6限制報告中的切片器數量。

切片器是近年來 Excel 最好的新商業智能 (BI) 功能之一。使用切片器,您可以為您的受眾提供一個直觀的界面,允許對 Excel 報告和儀表板進行交互式過濾。

切片器更有用的好處之一是它可以響應其他切片器,提供級聯過濾效果。例如,該圖不僅說明單擊區域切片器中的 Midwest 會過濾數據透視表,而且市場切片器還通過突出顯示屬於中西部區域的市場來做出響應。Microsoft 將此行為稱為交叉過濾。

儘管切片器很有用,但不幸的是,它對 Power Pivot 性能極其不利。每次更改切片器時,Power Pivot 都必須重新計算數據透視表中的所有值和度量。為此,Power Pivot 必須評估所選切片器中的每個磁貼,並根據選擇處理適當的計算。

7僅在維度字段上創建切片器。

與僅包含少數值的列相比,與包含大量唯一值的列相關聯的切片器通常會導致更大的性能損失。如果切片器包含大量圖塊,請考慮改用數據透視表過濾器下拉列表。

同樣,請務必調整列數據類型的大小。具有很少不同值的列比具有大量不同值的列輕。如果要存儲來自源數據庫的計算結果,請減少要導入的位數(小數點後)。這減少了字典的大小,並且可能減少了不同值的數量。


提高 Power Pivot 性能的 10 種方法

8禁用某些切片器的交叉過濾器行為。

禁用切片器的交叉過濾器行為實質上可以防止該切片器在單擊其他切片器時更改選擇。這可以防止 Power Pivot 評估禁用切片器中的標題,從而減少處理週期。要禁用切片器的交叉過濾器行為,請選擇切片器設置以打開切片器設置對話框。然後只需取消選擇無數據可視化指示項目選項。

9使用計算度量而不是計算列。

如果可能,請使用計算度量而不是計算列。計算列存儲為導入的列。因為計算列固有地與模型中的其他列交互,所以每次數據透視表更新時它們都會計算,無論它們是否被使用。另一方面,計算度量僅在查詢時計算。

計算列類似於常規列,因為它們都佔用模型中的空間。相比之下,計算的度量是即時計算的,不佔用空間。

10升級到 64 位 Excel。

如果您的 Power Pivot 報告繼續遇到性能問題,您始終可以購買更好的 PC - 在這種情況下,通過升級到安裝了 64 位 Excel 的 64 位 PC。

每當您使用 Power Pivot 時,它都會將整個數據模型加載到 RAM 中。您的計算機擁有的 RAM 越多,您看到的性能問題就越少。64 位版本的 Excel 可以訪問更多 PC 的 RAM,確保它具有處理更大數據模型所需的系統資源。事實上,Microsoft 建議任何使用由數百萬行組成的模型的人使用 64 位 Excel。

但在你匆忙開始安裝 64 位 Excel 之前,你需要回答以下問題:

您是否已經安裝了 64 位 Excel?

你的數據模型足夠大嗎?

您的 PC 上是否安裝了 64 位操作系統?

您的其他加載項會停止工作嗎?

Leave a Comment

HTKK 5.0.3

HTKK 5.0.3

HTKK 是稅務總局免費發布的報稅支援軟體,提供企業快速建立報稅表。了解HTKK的安裝步驟與升級功能。

有用的 Microsoft Power Query 日期函數

有用的 Microsoft Power Query 日期函數

探索 Excel 中的 Microsoft Power Query 日期函數,快速處理日期計算和操作,其中包含添加天數、提取日期部分等功能的詳細說明。

如何在 Excel 2019 中使用 3D 地圖功能

如何在 Excel 2019 中使用 3D 地圖功能

3D 地圖是 Excel 2019 中提供的令人興奮的可視化分析功能,讓你能夠在 Excel 中創建動態的 3D 地圖。探索如何利用這項技術提升數據分析的效果。

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

了解如何在 Excel 中使用 SKEW 和 SKEW.P 函數來衡量數據分佈的偏度,這對於分析數據的對稱性至關重要。

如何為 Excel 儀表板創建時間線切片器

如何為 Excel 儀表板創建時間線切片器

時間軸切片器的工作方式與標準切片器的工作方式相同,因為它允許您使用視覺選擇機製過濾數據透視表。了解如何在 Excel 中使用時間軸切片器來高效管理日期字段。

如何在 Excel 2016 中使用 XLOOKUP 函數

如何在 Excel 2016 中使用 XLOOKUP 函數

了解如何在 Excel 2016 中使用 XLOOKUP 函數,這是一個 VLOOKUP 函數的優秀替代品,具有更強大和靈活的功能!

智能表9.1.1

智能表9.1.1

Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。

共享點

共享點

SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。

萬年曆1.0.38/1.0.36

萬年曆1.0.38/1.0.36

萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。

微軟 Outlook 2021

微軟 Outlook 2021

Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。