次の方法で共有


要約機能

適用対象: Power Pages

1つ以上の列でグループ化して、テーブル内のレコードを要約します ... ...

プロパティ

Summarize 関数を使用して、テーブルのレコードをグループ化し、グループ内の列を要約します。

Summarize の最初の引数は、操作対象となるテーブルです。 残りの引数は任意の順序で指定でき、次の2つのカテゴリに分類されます。

  • 列名をグループ化します。 これらを使用して、グループ化する列を指定します。
  • 要約式。 これらを使用して、 ThisGroup テーブルの列を要約します。 このグループ は、元のテーブルのすべての列を含むテーブルですが、グループ列に基づいて一度に1つのグループのレコードのみに制限されます。 各数式は、結果テーブルの列名と同じ名前にする必要があります。 As

テーブルは、文字列や数値と同じように、Power Apps の値です。 関数の引数としてテーブルを指定し、関数はテーブルを返すことができます。 Summarize はテーブルを変更しません。代わりに、テーブルを引数として受け取り、別のテーブルを返します。 詳細については、テーブルの使用を参照してください。

委任

Summarize は、データ ソース と要約式の複雑さに応じて委任できます。 SumAverageMaxMinCountRowsConcat などの基本的な集計関数は、委任される可能性が高くなります。

数式の完全な委任が不可能な場合、オーサリング 環境 は委任できない部分に警告フラグを設定します。 可能であれば、委任できない関数や演算子を使用しないよう、数式を変更することを検討してください。

詳細については、 委任の概要を参照してください。

構文

集計( Table, GroupByColumnName1 [, GroupByColumnName2, ... ] [, SummarizeColumns As SummarizeNames, ...] )

  • - 必須。 要約する表。
  • GroupByColumnNames - 少なくとも1つは必要です。 レコードをグループ化するテーブル内の列名。 これらの列は、結果のテーブルの列になります。
  • 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