このページでは、テーブルをグループ毎のテーブルに分けるGroupBy関数、グループ毎に分けたテーブルを解除するUngroup関数を説明します。
Power Appsを体系的に学習したい方は、下記もご覧ください。
匿名で投稿できる目安箱アプリについて知りたい方は、下記もご覧ください。
Teamsを利用して組織内のコミュニケーションを強化したい方は下記もご覧ください。
・【事例付き】Teamsを活用したマネジメントTIPS集
・【マネージャー向け】Teamsアプリを活用した「誰が何を知っているか」の集約・共有 事例集
・【Teamsアプリ活用事例集】メンター制度を置き換えて新人・異動者の育成を効率化する方法
・【問い合わせ管理でお困りの方向け】問い合わせ対応・ナレッジ蓄積へのTeams活用事例集
・【マネジメント・業務把握にお困りの方向け】マネジメント・報告業務へのTeams活用事例集
・【Teamsアプリを活用事例集】週報を自動で収集しサマリー&フィードバックする方法とは
GroupBy関数の説明
GroupBy関数は、テーブルを特定の列を基準にしてグループ分けした子テーブルを作成する関数です。
構文
GroupBy( テーブル, 列名1 [, 列名2, … ], グループ化列名 )
テーブルには、グループ毎に分ける対象のテーブルを入れます。
列名には、グループ毎に分ける列名を入れます。
グループ化列名には、グループ分けした後のテーブルの列名を入れます。
使用例
下記のコレクション”SalesManagement”があるとします。

ボタンのOnSelectプロパティに下記を入れ、GroupBy関数で”担当”列毎のテーブルをコレクション”SalesByPerson”を作成します。グループ毎のテーブルの列名は”売上”としています。
1 |
ClearCollect(SalesByPerson,GroupBy(SalesManagement,"担当","売上")) |

ボタンをクリックして作成されたコレクションを見ると下記のようになります。”担当”列毎のテーブルが”売上”列として作成されています。

1行目の佐藤さんのテーブルをクリックすると、下記のように”担当”列が佐藤さんの行だけのテーブルが表示されます。

このように、GroupBy関数では指定した列の値毎にグループ化してテーブルを作成することができます。
次に、さらにGroupBy関数を応用してExcelのSumIf関数のような結果も出してみます。
ボタンのOnSelectプロパティに下記を入れ、さきほどGroupBy関数で作成したコレクション”SalesByPerson”をベースに、AddColumns関数で担当別の売上合計を算出したものを、コレクション”SalesByPersonSum”として作成します。
1 |
ClearCollect(SalesByPersonSum,AddColumns(GroupBy(SalesManagement,"担当","売上"),"合計",Sum(売上,総額))) |

ボタンをクリックして作成されたコレクションを見ると下記のようになります。”担当”列毎の売上合計を”合計”列として表示できます。

“売上”列が不要な場合は、さらにDropColumns関数を利用して削除できます。
Ungroup関数の説明
Ungroup関数は、GroupBy関数でグループ分けしたテーブルを元に戻す関数です。
構文
Ungroup( テーブル, グループ化列名 )
テーブルには、グループ化を解除したいテーブルを入れます。
グループ化列名には、テーブルの中の解除したい列の名前を入れます。
使用例
GroupBy関数の使用例で作成した下記のコレクション”SalesByPerson”を例に説明します。

ボタンのOnSelectプロパティに下記を入れ、Ungroup関数でコレクション”SalesByPerson”の”売上”列を対象にグループ化を解除して、コレクション”UngroupSalesByPerson”を作成します。
1 |
ClearCollect(UngroupSalesByPerson,Ungroup(SalesByPerson,"売上")) |

ボタンをクリックして作成されたコレクションを見ると下記のようになります。元の状態に戻ります。

GroupBy関数でグループ分けして、何らかの処理を行った後に、再度グループ化を解除したい場合にUngroup関数を利用します。
まとめ
このページでは、テーブルをグループ毎のテーブルに分けるGroupBy関数、グループ毎に分けたテーブルを解除するUngroup関数を説明します。
Power Appsを学びたい方は、下記のおすすめ学習方法もご覧ください。
匿名で投稿できる目安箱アプリについて知りたい方は、下記もご覧ください。
Teamsを利用して組織内のコミュニケーションを強化したい方は下記もご覧ください。
・【事例付き】Teamsを活用したマネジメントTIPS集
・【マネージャー向け】Teamsアプリを活用した「誰が何を知っているか」の集約・共有 事例集
・【Teamsアプリ活用事例集】メンター制度を置き換えて新人・異動者の育成を効率化する方法
・【問い合わせ管理でお困りの方向け】問い合わせ対応・ナレッジ蓄積へのTeams活用事例集
・【マネジメント・業務把握にお困りの方向け】マネジメント・報告業務へのTeams活用事例集
・【Teamsアプリを活用事例集】週報を自動で収集しサマリー&フィードバックする方法とは