共用方式為


Summarize 函數

適用於: Power Pages

通過對一個或多個列進行分組來匯總 記錄...

Description

使用 Summarize 函數對表的記錄進行分組並匯總組中的列。

Summarize 的第一個 參數是要操作的表。 其餘參數可以按任意順序排列,分為兩類:

  • 對列名稱進行分組。 使用這些選項指定要分組的列。
  • 摘要公式。 使用這些來匯總 ThisGroup 表中的 列。 ThisGroup 是一個包含原始表的所有列的表,但根據組列,一次只能包含一個組的記錄。 每個公式都必須在結果表中使用 As 作為列名命名。

資料表是 Power Apps 中的值,如同字串或數字。 您可以將資料表指定為函式的引數,而函式可傳回資料表。 Summarize 不會修改表;而是將表作為參數並返回不同的表。 如需更多資訊,請參閱使用資料表

委派

可以根據匯總公式的資料來源和複雜性來委派 summarize 。 基本的聚合函數 (如 SumAverageMaxMinCountRowsConcat ) 很有可能被委託。

如果無法完全委派公式,則創作環境會標記無法委派的部分,並顯示警告。 可行的情況下,請考慮更改公式以避開無法委派的函數和運算子。

有關更多資訊,請參閱 委託概述

語法

SummarizeTable,GroupByColumnName1 [, GroupByColumnName2,... ] [, SummarizeColumns As SummarizeNames,...])

  • Table - 必需。 表待總結。
  • GroupByColumnNames - 至少需要一個。 用來群組記錄之 資料表 中的欄位名稱。 這些欄位在結果資料表中會成為欄位。
  • SummarizeColumns - 可選。 每個組的 ThisGroup 表的匯總公式。
  • SummarizeNames - 每個 SummarizeColumn 都需要。 必須為輸出表顯式命名每個匯總列。

範例

簡單示例

  1. 使用以下範例資料在主機 Power Fx 中建立一個表:
Set( CityPopulations,
   Table(
        { City: "London",    Country: "United Kingdom", Population: 8615000},
        { City: "Berlin",    Country: "Germany",        Population: 3562000},
        { City: "Madrid",    Country: "Spain",          Population: 3165000},
        { City: "Rome",      Country: "Italy",          Population: 2874000},
        { City: "Paris",     Country: "France",         Population: 2273000},
        { City: "Hamburg",   Country: "Germany",        Population: 1760000},
        { City: "Barcelona", Country: "Spain",          Population: 1602000},
        { City: "Munich",    Country: "Germany",        Population: 1494000},
        { City: "Milan",     Country: "Italy",          Population: 1344000}
    )
)
  1. 計算以下公式:
Summarize( CityPopulations, Country,
           Sum( ThisGroup, Population ) As 'Total Population',
           Concat( ThisGroup, City, ", " ) As Cities 
)

結果如下表:

Country 總人口 城市
英國 8615000 倫敦
德國 6816000 柏林,漢堡,慕尼克
西班牙 4767000 馬德里,巴塞羅那
義大利 4218000 羅馬,米蘭
法國 2273000 巴黎

多個組列

  1. 使用以下範例資料在主機 Power Fx 中建立一個表:
Set( Inventory, 
   Table(
      {Supplier:"Contoso",  Fruit:"Grapes",  Price:220, Purchase:Date(2015,10,1), Tags: ["Red","Seedless"]},
      {Supplier:"Fabrikam", Fruit:"Lemons",  Price:31,  Purchase:Date(2015,10,1), Tags: ["Colombia"]},
      {Supplier:"Contoso",  Fruit:"Lemons",  Price:29,  Purchase:Date(2015,10,2), Tags: ["Peru"]},
      {Supplier:"Contoso",  Fruit:"Grapes",  Price:210, Purchase:Date(2015,10,2), Tags: ["Green","Seedless"]},
      {Supplier:"Fabrikam", Fruit:"Lemons",  Price:30,  Purchase:Date(2015,10,3), Tags: ["Mexico","Seedless"]},
      {Supplier:"Contoso",  Fruit:"Bananas", Price:12,  Purchase:Date(2015,10,3), Tags: ["Mexico"]}
   )
)
  1. 計算以下公式:
Summarize( Inventory, Supplier, Fruit, Average( ThisGroup, Price ) As 'Average Price' )
水果 供應商 餐點平均價格
葡萄 Contoso 215
檸檬 Fabrikam 30.5
檸檬 Contoso 29
香蕉 Contoso 12