Power BI合計値が計算結果と合わない 原因と解決策

Power BIのテーブルビジュアルで、集計行に表示される合計値が実際の計算結果と合わない場合の解決方法です。

 

例えば下図のようなケースです。

こちらは数量×金額で、売上金額の合計値を計算し、テーブルビジュアルにて表示しているものなのですが、

売上(合計)の10行を下に全て足していくと、10+20+30+…100=550になるところ、

Power BIのテーブル上の集計行(合計値)には5,500と桁1つ違って表示されていることが分かります。

 

これはデモデータを使ったので少々極端な例かもしれませんが、実務データを使ってレポートを作成していても、こうした事象に出くわす機会は結構あります。

膨大なデータを扱っていると、データそのものに不備があるのではないかと少し焦ります

(;’∀’) OMG~!

 

 

では、なぜこうなってしまうのでしょうか。

これはPower BIのテーブルの特性とSUM関数の特性によるものです。

 

実は今回売上金額の合計値を出すために、まずは数量と金額の合計値をSUM関数で別々で計算し、Calculate関数で数量×金額と積算する形で計算しています。

下記が計算式です。

 

・数量の合計値

数量(合計) =
SUM(Sheet1[数量])

 

・金額の合計値

金額(合計) =
SUM(Sheet1[金額])

・売上金額の合計値

売上(合計) =
CALCULATE('Sheet1'[数量(合計)] * 'Sheet1'[金額(合計)])

 

Sum関数は、特定の列の合計値を計算する関数です。

ただこれをテーブルビジュアルと合わせて使うと、

テーブルの各行に関しては左端で使っているID列の各行で「フィルターされて」されて計算される一方、

集計行に関しては「フィルターがされない」状態で計算結果が表示されるので計算が合わなくなってきます。

 

 

 

ですので、これを解決するためには、恐らく下記2通りです。

・「元から各行レベルで計算する関数を使う」

例)
売上金額 =
CALCULATE(SUMX('Sheet1', 'Sheet1'[数量] * 'Sheet1'[金額]))

 

・「追加行」で対応する

 

Sum関数で合計を計算して、テーブルで各行毎でフィルターするから計算結果が合わないのであり、

まずは各行毎で計算をした上で、その計算結果を合計しちゃう感じです。

 

Sumx関数は、列×列で計算した結果を、合計する関数なので、うまくいくという感じです。

 

 

以上です。

実際には色んなケースがあるので、もっと複雑な計算式を使うことが多いのですが、、、テーブルの集計行の特徴を理解してしまえば、それを回避する関数なりで対応できるはずです。

 

それでは、また!

(o^―^o)

 

 

ソフ蔵

ソフ蔵

IT企業でビッグデータ分析やアルゴリズム構築に携わってます。
趣味でPower BIの使い方やデータ分析のノウハウを伝えています。

Power BIを学習しよう!!

Power BI初級者向けのコーチング始めてみました!

人に直接教わるのが最も効率的な学習方法なので、ご検討下さい!
詳細を見る(ココナラ)

またPower BIの入門記事・記事をピックアップしましたので、こちらも参考にしてみて下さい

▶Power BIとは? 記事版 / 動画版(Power BIの概要を3分で解説!)

▶Power BIのメリット・デメリット 記事版 / 動画版

 

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


Scroll to Top