共用方式為


重新計算公式

當您在 PowerPivot for Excel 活頁簿中處理資料時,可能需要時常重新整理來源的資料、重新計算您在計算結果欄中建立的公式,或者確認樞紐分析表中呈現的是最新資料。

本主題說明「重新整理」(Refresh) 資料與「重新計算」(Recalculate) 資料之間的差異,提供如何觸發重新計算作業的概觀,並描述控制重新計算作業的選項。

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

PowerPivot 有使用資料重新整理與重新計算兩者:

資料重新整理:表示從外部資料來源取得最新資料。PowerPivot 不會自動偵測外部資料來源中的變更,但您可以手動從 PowerPivot 活頁簿重新整理資料,或是在 SharePoint 上共用活頁簿以便自動重新整理。如需詳細資訊,請參閱<更新 PowerPivot 中資料不同的方式>。

重新計算:表示更新位於活頁簿中包含公式的所有資料行、資料表、圖表和樞紐分析表。因為公式的重新計算會產生效能上的負擔,了解與每個計算相關聯的相依性相當重要。

此主題說明重新計算如何運作。如需有關重新計算之可能效能影響的詳細資訊,請參閱下面的<疑難排解重新計算>一節。

重要事項重要事項

除非活頁簿中的公式已重新計算完畢,切勿儲存或發行該活頁簿。

手動與自動重新計算

在預設情況下,PowerPivot 會視需要自動重新計算,同時將處理所需的時間最佳化。儘管重新計算會耗費時間,卻是很重要的作業。因為在重新計算期間,都會檢查資料行相依性,而且如果任何資料行發生變更、資料無效,或是在用於處理的公式中出現錯誤,都會立刻通知您。不過,您可以選擇放棄驗證,而且只以手動更新計算。如果您在使用複雜的公式或非常龐大的資料集,而且想要控制更新的時間,尤其應該要選擇這種做法。

手動與自動模式都有優點,不過,我們強烈建議您使用自動重新計算模式。這個模式讓 PowerPivot 中繼資料保持同步,並可防止由刪除資料、名稱或資料類型變更,或是遺失相依性所造成的問題。 

使用自動重新計算

使用自動重新計算模式時,對於活頁簿中資料所做的變更如果會造成任何公式的結果變更,都會觸發包含公式的整個資料行進行重新計算。下列變更永遠都需要進行公式的重新計算:

  • 外部資料來源的值重新整理。

  • 公式的定義變更。

  • 在公式中參考之資料表或資料行的名稱變更。

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

  • 加入新的量值或導出資料行。

  • 對 PowerPivot 活頁簿內的其他公式進行變更,以致相依於該計算的資料行或計算需要重新整理。

  • 插入或刪除資料列。

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

使用手動重新計算

您可以使用手動重新計算,以避免未準備妥當即計算公式結果而徒勞無功。手動模式在下列情況中特別有用:

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

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

  • 您在內含許多相依性的活頁簿中工作,並想要延遲到確認已進行所有必要變更之後,再重新計算。

請注意,只要活頁簿設為手動計算模式,PowerPivot for Excel 就不會執行任何驗證或檢查公式,但會出現下列結果:

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

  • 在新的導出資料行中不會出現任何結果。

如需有關如何變更計算模式或觸發手動公式計算的指示,請參閱下面的<手動重新計算公式>。

手動重新計算公式

本主題描述如何暫時變更 PowerPivot 活頁簿的設定,讓公式的結果不再自動更新。建議您盡可能使用 [自動] 選項,但是也可能必須手動重新計算公式,以便在設計公式時,減輕對活頁簿效能的衝擊。

在您變更這項設定之後,必須手動觸發以公式為基礎之任何計算的更新。

重要事項重要事項

在您發佈活頁簿之前,一定要將計算模式變更回自動模式。如此有助於在設計公式時避免發生問題。

設定手動重新計算

重新計算表示更新使用已變更之資料的任何公式結果。每當公式變更,或是當影響計算結果的資料已變更或已經重新整理資料時,您都需要重新計算。如需有關資料重新整理的詳細資訊,請參閱<更新 PowerPivot 中資料不同的方式>。

[!附註]

在 Windows Vista 和 Windows 7 中,PowerPivot 視窗中的功能都會在功能區中提供,本主題中會對此加以說明。在 Windows XP 中,功能都是從一組功能表使用的。如果您是使用 Windows XP,而且想要了解功能表命令如何與功能區命令相關,請參閱<Windows XP 中的 PowerPivot UI>。

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

  1. 按一下 [PowerPivot] 視窗中的 [設計] 索引標籤,然後按一下 [計算] 群組中的 [計算選項]

  2. 按一下 [手動計算模式]

  3. 若要重新計算所有資料表,請再次按一下 [計算選項],然後按一下 [立即計算]

    系統就會檢查活頁簿中的公式是否有錯誤,並以結果更新資料表 (若有任何更新)。視資料量與計算數目而定,有時候可能會造成活頁簿沒有回應。

疑難排解重新計算

本節提供規劃活頁簿重新計算之時機期間可以考量的其他技術秘訣。如需有關在活頁簿中重新計算和重新整理資料的一般資訊,請參閱下列主題:

重新計算公式

更新 PowerPivot 中資料不同的方式

相依性

當資料行與其他資料行相依,而其他資料行的內容以任何方式變更時,所有相關的資料行都可能需要重新計算。每當變更 PowerPivot 活頁簿時,PowerPivot for Excel 都會執行現有 PowerPivot 資料的分析,以判斷是否需要重新計算,並且會盡可能以最有效率的方式執行更新。

例如,假設您有 Sales 資料表,與 ProductProductCategory 資料表相關,而 Sales 資料表中的公式同時相依於後兩個資料表。對 ProductProductCategory 資料表所做的任何變更,都將造成重新計算 Sales 資料表中的所有導出資料行。只要考慮到可能有公式會依據分類或依據產品來累計銷售,這種做法也就很有道理。因此,為了確定結果正確,以這些資料為基礎的公式都必須重新計算。

PowerPivot 一律會對資料表執行完整的重新計算,因為完整的重新計算比檢查變更的值更有效率。觸發重新計算的變更可能包含刪除資料行、變更資料行的數值資料類型,或加入新的資料行等主要變更。不過,看似瑣碎的一些變更,例如變更資料行的名稱,也可能會觸發重新計算。這是因為資料行的名稱會在公式中當做識別碼使用。

在某些情況下,PowerPivot for Excel 可能會決定資料行可以排除於重新計算之外。例如,如果您的公式會從 Products 資料表查閱 [Product Color] 等值,而在 Sales 資料表中改變的資料行是 [Quantity],則即使 Sales 資料表與 Products 資料表相關聯,也不需要重新計算公式。但是,如果您有任何公式與 Sales[Quantity] 相依,就需要重新計算。

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

任何重新計算之前都會先計算相依性。如果有多個資料行彼此相依,PowerPivot 會按照相依性的順序執行。這可確保依正確順序以最快速度處理資料行。

交易

重新計算或重新整理資料的作業以「交易」(Transaction) 方式進行。這表示如果重新整理作業的任何部分失敗,其餘的作業都會回復。這可確保資料不會處於只處理部分的狀態。您不能以管理關聯式資料庫或建立檢查點的方式來管理交易。

動態函數的重新計算

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