重新計算 PowerPivot 中的公式

當您在 Power Pivot中使用資料時,您可能需要重新整理資料來源中的資料,重新計算您在計算結果欄中所建立的公式,或是確定樞紐分析表中顯示的資料是最新的。

本主題說明刷新資料與重新計算資料之間的差異,提供重新計算觸發方式的概覽,並說明控制重新計算的選項。

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

Power Pivot 會使用資料重新整理與重新計算:

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

重新計算是指更新活頁簿中包含公式的所有欄、表格、圖表及樞紐分析表。 因為重新計算公式會產生效能成本,所以請務必瞭解與每個計算相關聯的相依性。

重要:  您不應該儲存或發佈活頁簿,直到重新計算完該活頁簿中的公式為止。

手動重算與自動重新計算

根據預設, Power Pivot 會在優化處理所需的時間時根據需要自動重新計算。 雖然重新計算可能需要較長的時間,但由於在重新計算期間已核取欄相依性,因此如果資料無效,或在公式中出現錯誤,就會通知您是否已使用工作。 不過,您可以選擇是繼續驗證,並手動更新計算,尤其是當您使用的是複雜公式或超大型資料集,且想要控制更新的時間。

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

使用自動重新計算

當您使用 [自動重新計算模式] 時,任何對資料所做的變更,只要變更任何公式的結果,就會觸發整欄中包含公式的重新計算。 下列變更總是需要重新計算公式:

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

  • 公式定義已變更。

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

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

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

  • 已對活頁簿中的其他公式進行變更,因此應重新整理依賴該計算的欄或計算。

  • 已插入或刪除列。

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

使用手動重新計算

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

  • 您是使用範本來設計公式,並想要在驗證前變更公式中使用的欄和表格的名稱。

  • 您知道活頁簿中的部分資料已經變更,但您使用的不同欄並未變更,因此您想要推遲重新計算。

  • 您正在使用的活頁簿有許多相依性,而且想要推遲重新計算,直到您確定所有必要的變更都完成為止。

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

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

  • 新的計算結果欄中不會出現任何結果。

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

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

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

    會檢查活頁簿中的公式是否有錯誤,並以結果(如果有的話)更新表格。 根據資料量和計算數目而定,活頁簿可能會在一段時間內變得不回應。

重要:  發佈活頁簿之前,請務必將計算模式改回 [自動]。 這可協助避免在設計公式時出現問題。

疑難排解重新計算

相依性

當某個資料行依賴于另一個資料行,而另一個資料行的內容會以任何方式變更時,所有相關資料列都可能需要重新計算。 每當 Power Pivot 活頁簿進行變更時, Microsoft Excel 2013 中的 Power Pivot 都會分析現有的 Power Pivot資料,以判斷是否需要重新計算,並以最有效的方式執行更新。

例如,假設您有一個與資料表、產品ProductCategory相關的資料表( Sales);以及 [銷售] 資料表中的公式,都是由兩個數據表所組成。 針對產品ProductCategory資料表所做的任何變更,都將會重新計算Sales資料表中的所有計算結果欄。 如果您認為您的公式可能是依類別或產品來匯總銷售額,這就很有意義。 因此,請確定結果正確;必須重新計算以資料為基礎的公式。

Power Pivot 永遠會針對資料表執行完整的重新計算,因為完整的重新計算比檢查變更的值更有效率。 觸發重新計算的變更可能會包括刪除欄、變更欄的數值資料類型或新增欄等重要變更。 不過,看起來很簡單的變更(例如變更欄的名稱)也可能會觸發重新計算。 這是因為資料行的名稱是在公式中用來做為識別碼。

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

相依資料行的重新計算順序

相依性會在任何重新計算之前計算。 如果有多個彼此依賴的資料行, Power Pivot 會遵循相依性的順序。 這可確保以正確的速度來處理欄。

事務

重新計算或重新整理資料的作業會以事務的方式進行。 這表示如果重新整理作業的任何部分失敗,則會回滾剩餘的操作。 這是為了確保資料不會保留在部分處理狀態。 您無法像在關聯式資料庫中那樣管理交易,或建立檢查點。

重新計算可變函數

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

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

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

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×