タグ別アーカイブ: GroupBY

GroupBy関数を使用をして集約したテーブルをキャンバスに表示する

【テーブルの内容を集約したGalleryを作成しよう!】

Power Appsのキャンバスに、集約したテーブルを表示したい時にはGroupBy関数を使用します

とても簡単なのでぜひ覚えておきましょう!

使用データ

今回使用するのはSharepointリストです

商品や客先別に売上金額が表示されています

1階層での集計

GroupBY関数の文法は次の通りとなります

GroupBy(テーブル名,①列名,②新列名)

①の列名でグループ化の切り口となる列を指定します

②の新列名で集約された内容の表示の仕方を指定します

最初は②の扱いが少し分かりにくいかもしれません

さて、

このGroupBy関数は、下の画像のようにGalleryのItemsで使用します

前述の②の新列名はDATAで指定しています

こちらにSales列を含む「Title」以外の集計される列が含まれる形になります

実はここからが少し工夫が必要となります

①のグループ化の切り口の列をギャラリーに配置するのは、通常と一緒です

ここからTitle別にSalesを集計したいのですが、ここからは少し特殊な方法となります

上の画像のように、②新列名を経由してSales列を指定します

2階層での集計

前述の1階層の集計にもう一つ階層を追加する場合には、GroupBy関数でもう一つ列を追加します

これで新列名の「DATA」が2階層で集計されます

<まとめ>

今回はGroupBy関数を使用して、ピボットテーブルのような集計表をPower Appsのキャンバスに追加する方法を解説しました

ポイントはGroupBy関数をGalleryのItemsで設定した後に、ギャラリー内でGroupBy関数内で新列名にて指定した内容を設定する時です

画像に alt 属性が指定されていません。ファイル名: image-75.png

この場合は、新列名を経由して該当の列を指定します

更なる問題としては、この新列名で設定した内容で並び替えを行う時です

いきなりSortByColumns関数を使用しても、新列名では並び替えができません

この場合には、ボタンを使用してAddColumns関数にて新しい列を追加した方が早いです

変数を2回に分けて設定するのもポイントです

ClearCollect(

myData1,GroupBy(地域データ,"Title","DATA"));
ClearCollect(myData2,
  AddColumns(myData1,"合計",Sum(DATA,Sales)
)

)

実際には、Itemsにて次の関数で並び替えを行います

SortByColumns(myData2,”合計”,SortOrder.Descending)

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村
にほんブログ村 IT技術ブログ VBAへ

M言語に慣れる_10回目~グループ毎に連番作成~

【M言語は難しくない】今回はデータをグループ化した際に、1から始まる連番をグループ毎に作成する方法について解説します。この処理の仕方を覚えると、エクセルの使い方の幅が広がります

コードの採番や顧客の2回目のリピート状況把握など、使いみちは沢山あります!

しかも知られざるグループ化機能を使えば、1つのM関数を入力するだけでできてしまいます

まさに魔法です

ぜひ、実際に手を動かしてこの魔法を体験してください!

目次

今回のポイント

今回の使用データ

グループ化の実施

M関数の入力

<まとめ>

今回のポイント

今回のポイントは2つあります

グループ化

グループ化する際に、よく選択される操作は「合計」などです

今回は「すべての行」という操作を選択します

 この「すべての行」を選択して操作を行うと、グループ毎テーブルが作成されます

M関数作成

連番は「列の追加」タブの「インデックス列」のメニューから、クリック操作で簡単に作成できます

 今回は、既存のメニューは使用せず、カスタム列の作成画面から「Table.AddIndexColumn」というM関数を使用して「連番」を作成します

 M関数で作成することで、ポイントの1点目で作成されたグループ毎のテーブルを、関数の引数として指定できるようになります

今回の使用データ

今回は下の画像にあるデータの「部門」列をグループ化します

グループ化した後は、グループ毎に連番を振ります

以下が実際に使用するサンプルデータです

グループ化の実施

解説は、前述のデータをテーブル化し、エディタを開いたところから行います

エディタを開いたらまずは、グループ化を行います

グループ化は「ホームタブ」の「グループ化」メニューから行います

次に開いた画面では、前述のように操作を「全ての行」で設定します

・グループ化対象列 ➡ 「部門」列

・新しい列名 ➡ 「部門列」

・操作 ➡ 「すべての行」

空欄のままでOKです

上の内容で指定してOKボタンをクリックすると、エディタ内では次の画像のように、テーブルがグループ別に作成されています

続きを読む M言語に慣れる_10回目~グループ毎に連番作成~