【Power BI】ALLとALLSELECTEDの違いとは?構成比計算の落とし穴を解説

Power BIで構成比やシェア率を計算していると、

  • ALL関数とALLSELECTED関数の違いが分からない
  • フィルターを変更すると構成比がおかしくなる
  • 小計が100%にならない
  • 想定とは違う分母が計算される

といった経験はないでしょうか。

実は、これらの問題の多くは「分母に何を使うべきか」を正しく理解できていないことが原因です。

ALL関数とALLSELECTED関数はどちらもフィルターを制御するための関数ですが、対象となるフィルターの範囲が異なります。

そのため、構成比や割合を計算する際に使い方を間違えると、正しい値が表示されないケースがあります。

この記事では、

✅ ALL関数の役割

✅ ALLSELECTED関数の役割

✅ 構成比で発生しやすい落とし穴

✅ 分母を意識したDAXの考え方

について、実際のサンプルを使いながら分かりやすく解説します。

詳細

上のGIF画像では、分子がフィルターされた場合にも、分母の全体売上はALL関数により変わらないようになっています

ところが、分母の内容自体がフィルターされる場合が厄介です

上の画像では、構成比の分母は各都道府県の合計になります

仮に3つの都道府県にフィルターした場合には次のようになります

構成比_ALLの場合には、分母が固定ですから、小計が100%を割ります

構成比_ALL = DIVIDE(SUM(‘売上データ3′[売上金額]),CALCULATE(SUM(‘売上データ3′[売上金額]),ALL(‘売上データ3’)))

構成比_ALLSELECTEDの場合には、フィルターと連動して分母が動きます

構成比_ALLSELECTED = DIVIDE(SUM(‘売上データ3′[売上金額]),CALCULATE(SUM(‘売上データ3′[売上金額]),ALLSELECTED(‘売上データ3’)))

つまり、分母が何か?スライサーでフィルターする内容は何か?によってALLとALLSELECTEDを使い分ける必要があります

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です