要約機能
適用対象: Power Pages
1つ以上の列でグループ化して、テーブル内のレコードを要約します 。 ... ...
プロパティ
Summarize 関数を使用して、テーブルのレコードをグループ化し、グループ内の列を要約します。
Summarize の最初の引数は、操作対象となるテーブルです。 残りの引数は任意の順序で指定でき、次の2つのカテゴリに分類されます。
- 列名をグループ化します。 これらを使用して、グループ化する列を指定します。
- 要約式。 これらを使用して、 ThisGroup テーブルの列を要約します。 このグループ は、元のテーブルのすべての列を含むテーブルですが、グループ列に基づいて一度に1つのグループのレコードのみに制限されます。 各数式は、結果テーブルの列名と同じ名前にする必要があります。 As
テーブルは、文字列や数値と同じように、Power Apps の値です。 関数の引数としてテーブルを指定し、関数はテーブルを返すことができます。 Summarize はテーブルを変更しません。代わりに、テーブルを引数として受け取り、別のテーブルを返します。 詳細については、テーブルの使用を参照してください。
委任
Summarize は、データ ソース と要約式の複雑さに応じて委任できます。 Sum、 Average、 Max、 Min、 CountRows、 Concat などの基本的な集計関数は、委任される可能性が高くなります。
数式の完全な委任が不可能な場合、オーサリング 環境 は委任できない部分に警告フラグを設定します。 可能であれば、委任できない関数や演算子を使用しないよう、数式を変更することを検討してください。
詳細については、 委任の概要を参照してください。
構文
集計( Table, GroupByColumnName1 [, GroupByColumnName2, ... ] [, SummarizeColumns As SummarizeNames, ...] )
- 表 - 必須。 要約する表。
- GroupByColumnNames - 少なくとも1つは必要です。 レコードをグループ化するテーブル内の列名。 これらの列は、結果のテーブルの列になります。
- 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 |