例文を使って繰り返し業務を時短

【Power Query】M関数

Power BI、PowerQueryのM関数の使い方をご紹介 Power BI

グループ(項目)分けを行う方法

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")

コメント

タイトルとURLをコピーしました