Summarize 函數
適用於: Power Pages
Description
使用 Summarize 函數對表的記錄進行分組並匯總組中的列。
Summarize 的第一個 參數是要操作的表。 其餘參數可以按任意順序排列,分為兩類:
- 對列名稱進行分組。 使用這些選項指定要分組的列。
- 摘要公式。 使用這些來匯總 ThisGroup 表中的 列。 ThisGroup 是一個包含原始表的所有列的表,但根據組列,一次只能包含一個組的記錄。 每個公式都必須在結果表中使用 As 作為列名命名。
資料表是 Power Apps 中的值,如同字串或數字。 您可以將資料表指定為函式的引數,而函式可傳回資料表。 Summarize 不會修改表;而是將表作為參數並返回不同的表。 如需更多資訊,請參閱使用資料表。
委派
可以根據匯總公式的資料來源和複雜性來委派 summarize 。 基本的聚合函數 (如 Sum、 Average、 Max、 Min、 CountRows 和 Concat ) 很有可能被委託。
如果無法完全委派公式,則創作環境會標記無法委派的部分,並顯示警告。 可行的情況下,請考慮更改公式以避開無法委派的函數和運算子。
有關更多資訊,請參閱 委託概述。
語法
Summarize( Table,GroupByColumnName1 [, GroupByColumnName2,... ] [, SummarizeColumns As SummarizeNames,...])
- Table - 必需。 表待總結。
- GroupByColumnNames - 至少需要一個。 用來群組記錄之 資料表 中的欄位名稱。 這些欄位在結果資料表中會成為欄位。
- SummarizeColumns - 可選。 每個組的 ThisGroup 表的匯總公式。
- SummarizeNames - 每個 SummarizeColumn 都需要。 必須為輸出表顯式命名每個匯總列。
範例
簡單示例
- 使用以下範例資料在主機 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}
)
)
- 計算以下公式:
Summarize( CityPopulations, Country,
Sum( ThisGroup, Population ) As 'Total Population',
Concat( ThisGroup, City, ", " ) As Cities
)
結果如下表:
Country | 總人口 | 城市 |
---|---|---|
英國 | 8615000 | 倫敦 |
德國 | 6816000 | 柏林,漢堡,慕尼克 |
西班牙 | 4767000 | 馬德里,巴塞羅那 |
義大利 | 4218000 | 羅馬,米蘭 |
法國 | 2273000 | 巴黎 |
多個組列
- 使用以下範例資料在主機 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"]}
)
)
- 計算以下公式:
Summarize( Inventory, Supplier, Fruit, Average( ThisGroup, Price ) As 'Average Price' )
水果 | 供應商 | 餐點平均價格 |
---|---|---|
葡萄 | Contoso | 215 |
檸檬 | Fabrikam | 30.5 |
檸檬 | Contoso | 29 |
香蕉 | Contoso | 12 |