Power BIで合計を計算する方法 SumとSumxの違い

Power BIでとある列の数値の合計を計算したい場合、Sum関数かSumx関数を使うのがメジャーなやり方です。
そこで本記事では、Power BIのSumとSumx関数で合計を計算する方法と、それぞれの違いについて解説したいと思います。
また、ExcelでのSum関数との違いについても簡単に触れたいと思います。
Contents
Power BI Sum関数の使い方
Power BIで言うSum関数とは、とある列全ての数値の合計を計算する関数です。
例えば下図のように、H列の売上金額の合計値を計算したい場合です。
こうしたケースでは、Power BI側で下記のようにDAX関数を書きます。
売上金額(合計)=
Sum(‘SalesData'[売上金額])
Sum関数は、特定の「列」を指定するというのがポイントです。
指定した列全ての数値を合計した合計値を返してくれます。
Sumx関数の使い方
Power BIのSum関数と似た関数で、Sumx関数があります。
こちらも、数値の合計を計算するDAX関数である点では共通していますが、計算方法が異なります。
違いとしては、Sumx関数の方は、とある列と列を計算した式の結果を合計する点です。
例えば下図のように、個数×単価をした式の合計を計算したい場合です。
こうしたケースでは、Power BI側で下記のようにDAX関数を書きます。
売上金額(合計)=
Sumx(‘SalesData’,
‘Sales Data'[個数]*’Sales Data'[単価])
Sumx関数では、「表」と「式」を指定するというのがポイントです。
一度式を計算し、その式の合計を計算した値を返してくれます。
このデータではH列に「売上金額」があるので、Sum関数で合計を計算できますが、もしデータにH列がない場合、わざわざ作るのは面倒です。
Sumx関数を使えば別途列を追加しなくていいので、手間をかけずに合計値を計算できます。
ExcelのSum関数との違い
Sum関数というと、Excelにも同じ名前のSum関数がありますよね。
名前は同じですし、どちらも合計を計算する関数であるという点は共通していますが、特性は異なります。
というのもExcelのSum関数の場合は、「値」や「範囲」を指定します。
Power BIのSum・Sumx関数は「列」でしたよね。
まとめ
下図がまとめです。
Excelの方が範囲や値を指定できるので、Power BIに比べてより柔軟ですよね。
ただ、Excelの場合、データ更新等で合計したい範囲が変わった時に、範囲を再指定しないといけないので、その辺は不便です。
Power BIで範囲を指定して合計を計算するには?
補足です。
Power BIのSum関数は、「列全体」の合計を計算するということを解説しました。
では、Excelのように指定範囲のみの合計を計算するためには、どうしたらよいのでしょうか。
例えば下図のように、2020年5月31日分のみの合計値を出したいといったケースです。
これは、Power BIのCalculate関数をはさんだり、フィルターを使ってデータの範囲を絞り込むことで実現していきます。
Power BIでは下記のようにDAX関数を書きます(一例)。
合計(Calculate) =CALCULATE(SUM(‘Sales Data'[売上金額]),‘Sales Data'[売上日] = DATE(2020, 05,31))

以上です。
コメントを残す