重新計算 PowerPivot 中的公式

當您在 Power Pivot中處理資料時,您不時可能需要重新從來源重新更新資料、重新計算在計算資料行中建立公式,或確認樞紐分析表中呈現的資料是最新的。

本主題說明重新資料與重新計算資料的差異,提供如何觸發重新計算概觀,並說明控制重新計算的選項。

瞭解資料重新處理與重新計算

Power Pivot 資料重新處理和重新計算:

資料重新 更新是指從外部資料源取得最新資料。 Power Pivot 不會自動偵測外部資料源中的變更,但可以從 Power Pivot 視窗手動重新重新檢查資料,或是在 SharePoint 上共用活頁簿時自動重新SharePoint。

重新計算是指 更新您活頁簿中所有包含公式的欄、表格、圖表和樞紐分析表。 由於重新計算公式會產生執行成本,因此瞭解與每個計算相關聯的相依性非常重要。

重要:  在重新計算活頁簿中的公式之前,您不應該儲存或發佈該活頁簿。

手動與自動重新計算

根據預設, Power Pivot 自動重新計算,同時優化處理所需的時間。 雖然重新計算可能需要一些時間,但這是一項重要的工作,因為在重新計算期間,會檢查欄相依性,而且如果資料行已變更、資料無效,或公式中出現錯誤,則會收到通知。 不過,您可以選擇放棄驗證,只手動更新計算,尤其是當您使用複雜的公式或非常大的資料集,並想要控制更新的時間時。

手動和自動模式都有優點;不過,我們強烈建議您使用自動重新計算模式。 此模式會 Power Pivot同步處理中繼資料,並防止刪除資料、變更名稱或資料類型或遺失相依性所造成的問題。 

使用自動重新計算

當您使用自動重新計算模式時,任何資料變更都會導致任何公式的結果變更,都會觸發包含公式的整個資料行的重新計算。 下列變更一直需要重新計算公式:

  • 來自外部資料源的值已重新過更新。

  • 公式的定義已變更。

  • 公式中參照的資料表或欄名稱已變更。

  • 已新增、修改或刪除資料表之間的關聯。

  • 已新增量值或計算結果欄。

  • 已對活頁簿中其他公式進行變更,因此應該重新更新以該計算為根據的欄或計算。

  • 已插入或刪除列。

  • 您套用了需要執行查詢來更新資料集的篩選。 篩選可能是在公式中或樞紐分析表或樞紐分析表的一樞紐分析圖。

使用手動重新計算

您可以使用手動重新計算,以避免在準備好之前產生計算公式結果的成本。 手動模式在這類情況中特別有用:

  • 您用範本設計公式,並想要變更公式中使用的欄和表格名稱,然後再進行驗證。

  • 您知道活頁簿中的某些資料已變更,但您處理的不同資料行並未變更,因此您想要延後重新計算。

  • 您目前使用具有許多相依性且想要延後重新計算的活頁簿,直到您確定已進行所有必要的變更為止。

請注意,只要將活頁簿設定為手動計算模式, Microsoft Excel 2013 中的 Power Pivot 不會執行公式的任何驗證或檢查,並產生下列結果:

  • 您新增到活頁簿的任何新公式都會標為包含錯誤。

  • 新計算結果欄不會顯示任何結果。

若要設定手動重新計算的活頁簿

  1. [Power Pivot中, 按一下 [設計> 計算> [計算 選項> 手動計算模式

  2. 若要重新計算所有資料表,請按一下 [計算 選項> 立即計算。

    會檢查活頁簿中的公式是否有錯誤,資料表會更新為結果 (如果有)。 根據資料量和計算次數,該活頁簿可能會在一段時間內無法回應。

重要:  發佈活頁簿之前,您應該一直將計算模式變更回自動模式。 這可協助避免設計公式時發生問題。

重新計算疑難排解

相依性

當資料行取決於另一欄,而該其他欄的內容會以任何方式變更時,可能需要重新計算所有相關的欄。 每當變更 Power Pivot 時, Microsoft Excel 2013 中的 Power Pivot 會分析現有的 Power Pivot資料,判斷是否需要重新計算,並盡可能以最有效率的方式執行更新。

例如,假設您有一個與資料表、Product 和ProductCategory相關的資料表 ,即銷售額 ; 以及 Sales 資料表中的公式取決於其他兩個數據表。 對 Product 或ProductCategory資料表的任何變更,都會重新計算銷售資料表中的所有計算結果欄。 當您認為您可能有按類別或產品匯總銷售量的公式時,這很合理。 因此,請確認結果正確無誤;根據資料的公式必須重新計算。

Power Pivot 資料表執行完整的重新計算,因為完全重新計算比檢查變更的值更有效率。 觸發重新計算的變更可能包括刪除欄、變更欄的數值資料類型或新增欄等重大變更。 不過,看似無足輕重的變更 ,例如變更欄名,也可能觸發重新計算。 這是因為資料行名稱在公式中會做為識別碼。

在某些情況下, Power Pivot 可能會判斷資料行可以排除在重新計算之外。 例如,如果您有一個公式,從 [產品] 資料表查詢值 ,例如[產品色彩],而 [銷售] 資料表中已變更的欄是[數量],則即使資料表 [銷售額]與[產品] 相關,也不需要重新計算公式。 不過,如果您有任何仰賴 Sales[數量]的公式,則必須重新計算。

從屬資料行的重新計算順序

相依性會先于任何重新計算前計算。 如果有多個資料行彼此依存, Power Pivot 依相依性的順序進行。 這可確保以最大速度以正確的連續處理欄。

交易

重新計算或重新更新資料的操作會以交易方式執行。 這表示如果重新更新作業的任何部分失敗,其餘的作業會卷回。 這是為了確保資料不會留在部分處理的狀態。 您無法像在關係資料庫中一樣管理交易,或建立檢查點。

重新計算易失函數

某些函數 ,例如 NOW、RAND 或 TODAY,沒有固定值。 為了避免發生性能問題,執行查詢或篩選通常不會造成這類函數在計算結果欄中使用時重新進行評估。 只有在重新計算整個資料行時,才能重新計算這些函數的結果。 這些狀況包括從外部資料來源重新整理,或是手動的資料編輯,進而造成包含這些函數的公式重新進行評估。 不過,如果函數用於計算欄位的定義,則一定會重新計算可變函數 ,例如 NOW、RAND 或 TODAY。

需要更多協助?

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

×