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を使い分ける必要があります










コメントを残す