彙總欄藉由監控重要業務指標,協助使用者取得資料的見解。 彙總欄位包含根據特定資料列相關資料列計算出的彙總值。 這包括一般資料表和活動資料表 (例如電子郵件和約會)。
在較複雜的情況中,您可以透過資料列階層來彙總資料。 身為系統管理員或自訂員,您可以使用 Power Apps 中的自訂工具來定義彙總資料行,不需要撰寫程式碼。
彙總欄位的好處和功能
彙總欄位的好處和功能包括:
- 視覺編輯很容易。 您可以使用欄編輯器來建立彙總欄,就如同建立一般欄位時一樣。
- 多樣的彙總函數。 您可以使用下列功能來彙總資料:
SUM、COUNT、MIN、MAX和AVG。 - 提供完整的篩選支援以用於彙總。 您可以在設定多個條件時,設定來源資料表或相關資料表的各種篩選。
- 與使用者介面順暢整合。 您可以在表單、檢視、圖表和報表中包括彙總資料行。
- 彙總欄位是解決方案元件。 展開欄可以輕易作為元件在環境之間進行傳輸,並在解決方案中分配。
- 彙總資料行和計算結果資料行是互補的。 彙總欄可以作為計算欄的一部分,反之亦然。
- 您可以將彙總欄設定為使用自訂控制項。
彙總欄的幾個範例包括:
- 帳戶中開放商機的預估總營收
- 階層結構中所有帳戶的開放機會估計總營收
- 商機的估計總營收,包括下層商機
- 行銷活動所產生的合格潛在客戶的估計價值總計
- 在層次結構中所有帳戶的高優先等級開啟案件數目
- 針對某個客戶,所有高優先順序開放案例中最早的建立時間
每個彙整欄位會產生兩個附加欄位,並帶有 <欄位名稱>_date 和 <欄位名稱>_state 後綴的模式。
_date 資料行包含 DateTime 資料,而 _state 資料行包含整數資料。
_state 資料行有下列值:
| Value | 州/省 | 描述 |
|---|---|---|
| 0 | 未計算 | 欄位值尚未計算。 |
| 1 | 已計算 | 資料行值已經根據 _date 資料行的上次更新時間計算了。 |
| 2 | OverflowError | 資料行值的計算結果導致溢位錯誤。 |
| 3 | OtherError | 資料行值計算因內部錯誤而失敗。 下一次執行計算工作可能會解決問題。 |
| 4 | 重試次數超過限制 | 欄位值計算失敗,因為由於高並發和鎖定衝突,重試計算值的最大次數被超過。 |
| 5 | 階層遞歸限制已達到 (HierarchicalRecursionLimitReached) | 資料行值計算失敗,因為已達到計算的階層深度上限。 |
| 6 | LoopDetected | 資料欄位計算失敗,因為在階層中偵測到資料列的遞迴迴圈。 |
| 7 | 貨幣遺失 | 因為缺少必要欄位「貨幣」,因此欄位值計算失敗。 |
彙總計算
彙總是透過背景中非同步執行的排程系統作業所計算。 您必須是系統管理員才能檢視和管理彙總工作。
查看彙總工作
若要檢視彙總工作:
- 登入 Power Apps,然後選擇所需的環境。
- 選擇設定 (齒輪) >進階設定。
- 在左側導覽窗格選擇 系統作業。
- 在檢視選擇器中,選擇循環系統作業。
- 要快速找到相關職缺,你可以依 系統職缺類型篩選: 大量計算匯總欄位 或 計算匯總欄位。
批量計算累積欄位
[批量計算彙總欄位] 是為每個彙總欄位建立的週期性工作。 在您建立或更新匯總欄位後,它會執行一次。 工作會重新計算包含此資料行的所有現有記錄中的指定彙總資料行值。 根據預設,您建立或更新資料行 12 小時後,工作將會執行。 如果資料行被修改,工作將重設並於更新後的12小時再次執行。 需要一個 12 小時的延遲,以確保大規模計算匯總字段在環境的非運營時段執行。
建議系統管理員在建立或修改彙總資料行後,調整大量計算彙總欄位工作的開始時間,使其在非作業時間執行。 例如,半夜是執行工作的最佳時機,以確保彙總欄位的有效處理。
請注意,如果情況出現在從未更新過彙總資料行的地方,則大量計算彙總欄位作業將不會針對該資料行再次執行,直到 10 年後為止。 此行為經過設計。 如果與彙總欄位相關的基礎資料行中沒有任何更新,則不需要更頻繁地執行任務。
計算彙整欄位
計算彙總資料行是在指定的資料表的現有資料列中對所有彙總資料行執行累加計算的週期性工作。 每個表格只有一個計算彙總欄位工作。 累加計算表示計算彙總欄位工作會處理在上次大量計算彙總欄位工作完成執行之後建立、更新或刪除的資料列。 預設最小週期設定為一小時。 首次在資料表中建立彙總資料行時,工作會自動建立;刪除最後一個彙總資料行時,工作會自動刪除。
線上重新計算選項
表單上的匯總欄將顯示計算機圖標、匯總數值以及上次計算的時間。 若要重新計算,請選取計算機圖像,然後選取顯示的重新計算按鈕。
在使用線上重新計算選項(在表單上手動重新整理)時,應注意一些考量事項:
- 你必須在資料表上擁有寫入權限,並且對於你要求更新的來源列擁有寫入存取權限。 例如,如果您要計算客戶開啟商機的估計營收,您不必擁有商機表上的寫入權限,只需要客戶表上的寫入權限即可。
- 只有在線上模式才能使用此選項。 您無法在離線工作時使用它。
- 彙總重新整理期間的最大資料列數目受限於 50,000 筆資料列。 在階層式匯總的情況下,這適用於整個階層內的相關資料列。 如果超出限制,您會看到錯誤訊息:無法連線執行計算,因為已達到 50,000 個相關行的計算限制。當系統作業自動重新計算總計時,此限制不適用。
- 來源資料列的最多階層深度受限於 10。 如果超出限制,您會看到錯誤訊息:無法連線執行計算,因為已達到來源行的階層深度限制 10。當系統作業自動重新計算總計時,此限制不適用。
修改彙總工作週期
身為系統管理員,您可以修改彙總工作週期模式、延後、暫停或繼續彙總工作。 不過,您無法取消或刪除彙總工作。
若要暫停、延期、繼續或修改週期模式,您必須檢視系統作業。 更多資訊 查看 Rollup 工作
在導覽列,選擇動作,然後選取您想要的動作。
對於大量計算彙總欄位工作,可用選項是:繼續、延期和暫停。
對於計算彙總欄位工作,可用選項是:修改週期、繼續、延期和暫停。
範例
讓我們來看幾個匯總欄範例。 我們將從相關資料列中彙總單一資料列,並將其分別處理在使用階層與不使用階層的情況下。 同時也將透過 ActivityParty 表格,彙總資料列的相關活動,以及與資料列間接相關的活動的資料。 在每個範例中,我們會使用資料行編輯器,定義彙總資料行。 若要開啟資料行編輯器,請開啟方案總管,並展開元件>資料表。 選取您要的資料表,選取資料行。 選擇新增。 在編輯器中提供資料行的必要資訊,包括資料行類型和資料類型。 選取資料類型之後,在資料行類型中選取彙總。 資料類型包括十進位數或整數、貨幣和日期/時間。 選擇資料行類型旁邊的編輯按鈕。 這會帶領您到彙總資料行定義編輯器。 彙總資料行定義包含三個區段:來源表格、相關表格和彙總。
在來源資料表區段中,您可以指定彙總欄位所屬的資料表,並且指定是否要在階層中進行彙總。 您可以搭配多個條件新增篩選,指定階層中要用於彙總的資料列。
在相關資料表區段中,您可以指定要彙總的資料表。 當您選擇在來源表格的階層中進行資料匯整時,此區段是可選擇的。 您可以搭配多個條件新增篩選,指定要用於計算的相關資料列。 你將包含來自年度營收大於 1,000 美元的開放商機的收入。
在彙總區段中,您可以指定要計算的計量。 您可以選擇可用的彙總函數,例如 SUM、COUNT、MIN、MAX,或 AVG。
將相關資料列的資料彙總到特定資料列中
在此範例中,未使用階層。 從與帳戶相關的未結商機中計算估計的總營收。
在階層中,從子資料列彙總母資料列數據
在此範例中,我們計算商機及其子商機跨越階層的估計營收總計。
在階層中,從相關資料列中彙總單一資料列的資料
在此範例中,我們計算整個階層中所有帳戶的開放商機估計營收總計。
從所有相關活動彙總某一列的資料
在此範例中,我們會從所有與客戶相關的活動計算總計花費時間並開立帳單。 這可能包括花在打電話、約會或客製化活動上的時間。
在較早的發行版本中,您可以為個別活動(例如通話、傳真或約會)定義彙總資料行。 但是要取得以下所示範例的結果,就必須使用計算結果資料行來總計資料。 現在,您可以透過為 Activity 資料表定義一個彙總欄位,一步完成所有操作。
透過活動當事人資料表彙總所有與資料列相關之活動的資料以及與資料列間接相關之活動的資料
在此範例中,我們計算發送到某個帳戶的電子郵件總數,其中該帳戶被列在電子郵件的「收件者」欄位或「副本」欄位。 這是藉由在彙總資料行定義中,為活動當事人資料表指定篩選中的參與類型來完成。 如果您不使用篩選條件,則活動的所有可用參與類型都會用於計算。
如需適用於特定活動之活動當事人資料表及參與類型的詳細資訊,請參閱 ActivityParty 資料表。
使用 AVG 運算子來整合來自相關資料列的數據
在此範例中,我們會計算所有與客戶相關之商機的平均估計營收。
下列範例顯示如何在帳戶階層結構中計算相關商機的平均估計營收。 您可在階層中的每個層級看到平均估計營收。
滾動欄考量事項
使用彙總資料行時,您應該注意某些條件和限制:
- 預設情況下,您可以為環境定義最多 200 個彙總欄,且每個資料表最多使用 50 個彙總欄。 詳細資訊:定義環境或表格中匯總資料行的最大數目
- 工作流程無法由彙總欄更新觸發。
- 工作流程等待條件無法使用彙總資料行。
- 不支援在匯總資料行上執行匯總。
- 彙總無法參照依賴其他計算欄位的計算欄位,即使該計算欄位的所有欄位都在當前表格中。
- 如果彙總行使用依賴時間限制函數
Now()和IsUTCToday()的公式欄,則彙總行不會自動更新。 必須使用線上重新計算選項 (表單上的手動重新整理) 或重新計算按鈕來計算最新的彙總行值。 - 彙總只能將篩選條件限制套用到來源表或相關表、簡單資料行或非複雜計算資料行。
- 只能在具有 1:N 關係的相關資料表上執行彙總。 無法在 N:N 關聯上進行匯總。
- 無法在「活動」表格或「活動參與者」表格的 1:N 關係上執行 Rollup 彙總。
- 商務規則、工作流程或計算的資料行一律使用彙總資料行的上次計算值。
- 彙總資料行是在系統使用者的上下文中進行彙總的。 所有使用者都能看到相同的彙總欄位值。 您可以限制誰可以存取彙總資料行,使用資料行層級安全性 (FLS) 控制彙總資料行顯示性。 更多資訊:資料行層級的存取控制安全性。
定義環境或表格中的最大匯總欄位數量
預設情況下,您可以為環境定義最多 200 個彙總欄,且每個資料表最多使用 50 個彙總欄。
若要變更最大值,請執行下列步驟:
- 請移至 Power Apps (make.powerapps.com),在左側瀏覽窗格上選取表格,然後打開組織表格 。
- 選取 n更多清單,然後在搜尋方塊中輸入 maxr。 選取 MaxRollupFieldsPerOrg和 MaxRollupFieldsPerEntity 資料行,然後選取儲存。
- 變更 MaxRollupFieldsPerOrg 的值 (最多 200) 和您想要的 MaxRollupFieldsPerEntity (最多 50) 。
這很重要
在一個環境中,如果匯總資料行的數量超過 100 個,可能會導致匯總資料行效能下降,並增加儲存體消耗。
精確捨入
如果聚合欄位的精度超過彙總欄位的精度,在執行聚合之前,聚合欄位的精度會向下調整到彙總欄位的精度。 為了說明此行為,讓我們來檢視特定範例。 假設用於計算相關商機之預估營收總額的帳戶表格彙總欄位,其精確度為小數點後兩位。 預估值 商機表格中的營收欄是彙整的欄位,精確到小數點後四位。 在我們範例中,客戶有兩個相關商機。 估計營收的彙整總和計算如下:
- 估計 第一個商機的估計營收是:$1000.0041
- 估計 第二個商機的估計營收是:$2000.0044
- 估計值總和 營收:$1000.00 + $2000.00 = $3000.00
如您所見,彙整資料行在彙總前會先精確捨入到小數點後兩位。
與相關網格不同的行為
某些開箱即用的資料表,例如客戶或連絡人,會包含相關的網格。 例如,帳戶表單包含連絡人、案例、商機,以及其他資料表格。 在帳戶表單中顯示的某些列直接與帳戶相關;其他列則與其他行間接相關。 相較之下,彙總欄位聚合只使用在彙總欄位定義中明確定義的直接關係。 不會考量其他關聯。 為了說明行為上的差異,讓我們來檢視下列範例。
- 客戶 A1 有主要連絡人 P1。 案例 C1 與客戶 A1 關聯 (C1.客戶列 = A1),案例 C2 與連絡人 P1 關聯 (C2.客戶列 = P1)。
- 在 A1 資料列客戶表單的案例格線,顯示兩個案例 C1 和 C2。
- 帳戶資料表中的合計欄稱為案例總數,用來計算與該帳戶相關聯的案例數量。
- 在帳戶彙總欄位定義中,我們指定與該帳戶具有客戶關聯的案例。 在彙整之後,案例總數等於 1 (案例 C1)。 總數未包括案例 C2,因為它直接與連絡人相關,未和客戶相關,且在客戶彙總資料行定義中也無法明確定義。 因此,彙總工作傳回的案例總數不符合案例格線顯示的案例數。