建立彙總欄位以將各值合計
本主題適用於 Dynamics 365 Customer Engagement (on-premises)。 有關本主題的 Power Apps 版本,請參閱: 定義 Power Apps 中的彙總欄位
彙總欄位是設計來監控重要商務計量,藉以協助使用者取得資料的深入解析。 彙總欄位包含在一個特定記錄的相關記錄 (例如客戶的開啟商機) 計算出的彙總值。 此外,您也可以透過活動當事人實體,彙總與記錄直接相關之活動 (例如電子郵件和約會) 的資料以及與記錄間接相關之活動的資料。 在較複雜的情況中,您可以透過記錄階層來彙總資料。 身為系統管理員或自訂員,您可以使用功能來定義彙總欄位,不需要開發人員撰寫程式碼。
彙總欄位的好處和功能
彙總欄位的好處和功能包括:
視覺編輯很容易。 您可以使用欄位編輯器建立彙總欄位,就如同建立一般欄位時一樣。
廣大的彙總函數選項。 您可以使用下列功能來彙總資料:
SUM
、COUNT
、MIN
、MAX
和AVG
。彙總的完整篩選支援。 您可以在設定多個條件時,設定來源實體或相關實體的各種篩選。
與使用者介面順暢整合。 在表單、檢視表、圖表與報表中可以併入彙總欄位。
彙總欄位是解決方案元件。 彙總欄位可以輕易在組織之間當做元件傳輸並在解決方案中發佈。
彙總欄位和導出欄位是互補的。 彙總欄位可以做為導出欄位的一部分,反之亦然。
彙總欄位的部分範例包括:
客戶開啟商機的估計營收總計
階層中所有客戶開啟商機的估計營收總計
商機 (包括下層商機) 的估計營收總計
行銷活動所產生的合格潛在客戶的估計價值總計
階層中所有客戶的高優先順序、開啟案例數目
客戶的所有高優先順序、開啟案例最早的建立時間
每個彙總欄位以<fieldname
>_date 和 <fieldname>
_state 尾碼模式建立兩個附屬欄位。 _date 欄位是日期時間資料類型,而 _state 欄位是整數資料類型。
_date 欄位是系統建立的欄位,用於儲存上次計算彙總欄位值的日期和時間。
_state 欄位有下列值:
州/省 | Description |
---|---|
0 => NotCalculated | 欄位值尚待計算。 |
1 => Calculated | 欄位值已經根據 _date 欄位的上次更新時間計算了。 |
2 => OverflowError | 計算的欄位值造成溢位錯誤。 |
3 => OtherError | 欄位值計算因內部錯誤而失敗。 以下的計算工作執行可能會修正此錯誤。 |
4 => RetryLimitExceeded | 欄位值計算失敗,因為並行處理和鎖定衝突數目高,超出重試計算值的最大次數。 |
5 => HierarchicalRecursionLimitReached | 欄位值計算失敗,因為已達到計算的階層深度上限。 |
6 => LoopDetected | 欄位值計算失敗,因為偵測到階層中記錄的遞迴迴圈。 |
彙總計算
彙總是透過背景中非同步執行的排程系統作業所計算。 您必須是系統管理員才能檢視和管理彙總工作。 若要檢視彙總工作,移至設定>系統作業>檢視>週期性系統作業。 若要快速尋找相關工作,可依系統作業類型篩選:[大量計算彙總欄位] 或 [計算彙總欄位]。
[大量計算彙總欄位] 是每一個彙總欄位建立一個的週期性工作。 在建立或更新彙總欄位之後,它執行一次。 工作會重新計算包含此欄位的所有現有記錄中的指定彙總欄位值。 根據預設,在建立或更新欄位之後 12 小時將執行工作。 在工作完成後,自動排程在遙遠的未來 (約 10 年) 執行。 如果修改欄位,工作重設為在更新後的 12 小時重新執行。 需要 12 小時的延遲,以確保 [大量計算彙總欄位] 是在組織的非作業時間執行。 建議系統管理員將 [大量計算彙總欄位] 工作的開始時間調整為在彙總欄位建立或修改後,這樣一來,工作會在非作業時間執行。 例如,半夜是執行工作的好時機,確定能有效處理彙總欄位。
[計算彙總欄位] 是在指定的實體的現有記錄中對所有彙總欄位執行累加計算的週期性工作。 每個實體只有一個 [計算彙總欄位] 工作。 累加計算表示 [計算彙總欄位] 工作會處理在上次 [大量計算彙總欄位] 工作完成執行之後建立、更新或刪除的記錄。 預設最大週期設定為一小時。 在最後一個彙總欄位刪除後實體的第一個彙總欄位建立及刪除時,由系統自動建立工作。
線上重新計算選項。 如果您將滑鼠停留在表單的彙總欄位上方,就可以查看上次彙總時間,也可以選擇欄位旁的重新整理圖示,重新整理彙總值,如下所示:
使用線上重新計算選項 (表單上手動重新整理),請記住一些考量事項:
您必須有實體的寫入權限,以及您要求重新整理之來源記錄的讀取存取權限。 例如,如果您要計算客戶開啟商機的估計營收,您不必擁有商機實體的寫入權限,只需要客戶實體的寫入權限。
只有在線上模式才能使用此選項。 您無法在離線時使用它。
彙總重新整理期間的最大記錄數目受限於 50,000 筆記錄。 在階層式彙總的情況下,這適用於整個階層的相關記錄。 如果超過限制,您會看到錯誤訊息:「無法線上執行計算,因為已達到 50,000 個相關記錄的計算限制」。 當彙總由系統作業自動重新計算時,此限制不適用。
來源記錄的最多階層深度受限於 10。 如果超過限制,您會看到錯誤訊息:「無法線上執行計算,因為已達到來源記錄階層的深度限制 10」。 當彙總由系統作業自動重新計算時,此限制不適用。
身為系統管理員,您可以修改彙總工作週期模式、延後、暫停或繼續彙總工作。 不過,您無法移除或刪除彙總工作。 若要暫停、延期、繼續或修改週期模式,請移至設定>系統作業。 在檢視中,選取 [週期性系統作業]。 在導覽列,選擇動作,然後選取您想要的動作。 對於大量計算彙總欄位工作,可用選項是:[繼續]、[延期] 和 [暫停]。 對於計算彙總欄位工作,可用選項是:[修改週期]、[繼續]、[延期] 和 [暫停]。
彙總欄位商務案例
我們來查看數個彙總欄位案例。 我們將會在使用和不使用階層的情況下,從相關記錄彙總記錄資料。 同時也會透過活動當事人實體,彙總與記錄相關之活動的資料以及與記錄間接相關之活動的資料。 在每個範例中,我們會使用欄位編輯器,定義彙總欄位。 若要開啟欄位編輯器,請開啟方案總管,並展開元件>實體。 選取想要的實體,然後選取欄位。 選擇新增。 在編輯器中提供欄位的必要資訊,包括欄位類型和資料類型。 選取資料類型之後,在欄位類型中選取彙總。 資料類型包括十進位數或整數、貨幣和日期/時間。 選擇欄位類型旁邊的編輯按鈕。 這會帶領您到彙總欄位定義編輯器。 彙總欄位定義包含三個區段:來源實體、相關實體和彙整。
在來源實體區段中,您可以指定定義彙總欄位的實體,以及是否在階層上進行彙總。 您可以搭配多個條件新增篩選,指定階層中要用於彙總的記錄。
在相關實體區段中,您可以指定要彙總的實體。 當您選擇在階層上對來源實體進行彙總時,此區段是選擇性的。 您可以搭配多個條件新增篩選,指定要用於計算的相關記錄。 例如,從年度營收大於 $1000 的開啟商機中包含營收。
在彙總區段中,您可以指定要計算的計量。 您可以選擇可用的彙總函數,例如 SUM、COUNT、MIN、MAX 或 AVG。
從相關記錄彙總記錄資料
在此範例中,未使用階層。 針對客戶相關開啟的商機計算估計營收總計。
在階層中,從下層記錄彙總記錄資料
在此範例中,我們計算在階層中商機的估計營收總計,包括下層商機。
在階層中,從相關記錄彙總記錄資料
在此範例中,我們計算在階層中所有客戶開啟商機的估計營收總計。
從所有相關活動彙總記錄資料
在此範例中,我們會從所有與客戶相關的活動計算總計花費時間並開立帳單。 這可能包括花費在電話、約會或自訂活動的時間。
在較早版本中,您可以為個別活動 (例如通話、傳真或約會) 定義彙總欄位。 但是要取得以下所示範例的結果,就必須使用導出欄位來總計資料。 您現在可以為活動實體定義一個彙總欄位,以一個步驟來完成所有動作。
透過活動當事人實體彙總所有與記錄相關之活動的資料以及與記錄間接相關之活動的資料
在此範例中,我們會計算傳送給某個客戶的電子郵件總數,其中客戶是在電子郵件「收件者」行或「副本」行中列出的客戶。 這是藉由在彙總欄位定義中,為活動當事人指定篩選中的參與類型來完成。 如果您不使用篩選,則活動的所有可用參與類型都會用於計算。 如需適用於特定活動之活動當事人實體及參與類型的詳細資訊,請參閱 ActivityParty 實體。
使用 AVG 運算子從相關記錄彙總記錄資料
在此範例中,我們會計算所有與客戶相關之商機的平均估計營收。
下列範例顯示如何透過客戶階層計算相關商機的平均估計營收。 您可在階層中的每個層級看到平均估計營收。
彙總欄位考量
使用彙總欄位時,您必須留意特定情況以及限制:
您可以為組織定義最多 100 個彙總欄位和每個實體最多 10 個彙總欄位。
工作流程不能由彙總欄位更新觸發。
工作流程等待條件無法使用彙總欄位。
不支援透過彙總欄位的彙總。
彙總無法參照使用其他導出欄位的導出欄位,即使其他導出欄位的所有欄位都在目前實體上。
如果彙總欄位使用相依於有時間限制的函數 (例如
NOW()
、UTCNOW()
、ISUTCTODAY()
或UTCTODAY()
) 的公式欄位,則不會自動更新該欄位。 必須使用線上重新計算選項 (表單上的手動重新整理) 或重新計算按鈕來計算最新的彙總欄位值。彙總只能套用篩選至來源實體或相關實體、簡單欄位或非複雜導出欄位。
只能在具有 1:N 關聯的相關實體上執行彙總。 在 N:N 關聯上彙總無法完成。
對於活動實體或活動當事人實體,在 1:N 關聯上彙總無法完成。
商務規則、工作流程或導出欄位一律使用彙總欄位的上次計算值。
彙總欄位是在系統使用者內容下彙總的。 所有使用者都能夠看到相同的彙總欄位值。 您可以限制誰可以存取彙總欄位,使用欄位層級安全性 (FLS) 控制彙總欄位顯示性。 其他資訊:欄位層級安全性。
如果彙整欄位的有效位數超過彙總欄位的有效位數,在彙整執行之前,彙整欄位有效位數會向下捨入到彙總欄位的有效位數。 為了說明此行為,讓我們檢視特定範例。 假設客戶實體的彙總欄位,用於計算之相關商機的估計營收總計,有兩個小數位數的有效位數。 商機實體的估計 營收欄位是具有四個小數位數之有效位數的彙整欄位。 在我們範例中,客戶有兩個相關商機。 估計營收的彙整總和計算如下:
估計 第一個商機的估計營收是:$1000.0041
估計 第二個商機的估計營收是:$2000.0044
估計營收的 營收:$1000.00 + $2000.00 = $3000.00
如您所見,在彙整執行之前,彙整欄位有效位數會捨入到兩個小數位數。
某些立即可用的實體表單 (例如客戶或連絡人) 包含相關聯的網格。 例如,客戶表單包含連絡人、案例、商機及其他格線。 在客戶表單格線顯示的部分記錄直接與客戶記錄相關;其他記錄則透過與其他記錄的關聯間接相關。 相較之下,彙總欄位彙整只使用彙總欄位定義所明確定義的直接關聯。 不會考量其他關聯。 為說明行為上的差異,讓我們檢視下列範例。
客戶 A1 有主要連絡人 P1。 案例 C1 與客戶 A1 (C1.Customer 欄位= A1) 相關聯,且案例 C2 與連絡人 P1 (C2.Customer 欄位= P1) 相關聯。
在 A1 記錄客戶表單的案例格線,顯示兩個案例 C1 和 C2。
客戶實體的彙總欄位,稱為案例總數,用來計算與客戶關聯的案例。
在客戶彙總欄位定義,我們指定與該客戶具有客戶關聯的案例。 在彙整之後,案例總數等於 1 (案例 C1)。 總數未包括案例 C2,因為它直接與連絡人相關,未與客戶相關,而且在客戶彙總欄位定義中也無法明確定義。 因此,彙總工作傳回的案例總數不符合案例格線顯示的案例數。