グループ(項目)分けを行う方法
Power BIのM言語を使用してグループ分けを行う場合、Table.Group関数を使用することができます。Table.Group関数は、テーブルをグループ化し、各グループの集計値を計算するために使用されます。
Table.Group関数の基本的な構文は以下の通りです。
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
以下は、Salesテーブルから、商品別の売上高を計算し、商品名でグループ化するM言語のコードの例です。
let
Source = Sales,
Grouped = Table.Group(Source, {"Product"}, {{"Total Sales", each List.Sum([Amount]), type number}})
in
Grouped
このコードでは、Table.Group
関数を使用して、Salesテーブルを「Product」列でグループ化し、「Total Sales」列の合計値を計算しています。each List.Sum([Amount])
の部分は、各グループ内の「Amount」列の合計値を計算するための式です。
Grouped変数には、商品名でグループ化されたテーブルが格納されます。このテーブルは、Product列とTotal Sales列の2つの列を持ち、各商品の合計売上高が計算されたテーブルとなります。
Table.Group関数は、グループ化する列を複数指定することもでき、複数の列でグループ化されたテーブルを返すことができます。また、aggregatedColumns引数には、複数の列を指定することもできます。
table
: グループ化するテーブル。key
: グループ化のための列名または式。aggregatedColumns
: 各グループの集計値を計算するための列名または式のリスト。groupKind
: グループ化方法を指定するための数値コード。省略可能であり、1がデフォルト値で、その場合は全てのグループ化列が含まれた新しいテーブルが返されます。comparer
: グループ化に使用される比較関数。省略可能です。
例文
列の追加>条件列
= Table.AddColumn
(追加されたカスタム, "小項目", each if Text.Contains([属性], "インプレッション") then "010.imp" else if
Text.Contains([属性], "クリック数") then "020.CT" else if
Text.Contains([属性], "クリック率") then "030.CTR" else if
Text.Contains([属性], "平均クリック単価") then "040.CPC" else if
Text.Contains([属性], "コンバージョン") then "070.CV" else if
Text.Contains([属性], "コンバージョン率") then "080.CVR" else if
Text.Contains([属性], "コンバージョン単価") then "CV単価" else if
Text.Contains([属性], "費用") then "160.広告費(消化金額)" else "other")
コメント