以下のようなデータ(Tableと名付けます)を読み込み、「総売上に対する商品Aの売上比率」を各都市ごとに計算したいとします。
新しいメジャーを作成し、以下のようにDAXを書くとします。一応説明しておきますと、Item = "A"の行のRevenueを合計し、それを全行のRevenueの合計で割っています。
Rate of Item A =
DIVIDE(
CALCULATE(SUM('Table'[Revenue]), 'Table'[Item] = "A"),
SUM('Table'[Revenue])
)
この値を各都市ごとにビジュアライズしてみましょう。
名古屋のデータが表示されません。これは名古屋には商品Aの売上レコードがない為、CALULATEの返す値が0ではなくNULL(なのか分かりませんが、数値ではない)為です。
解決の為にもちろん売上0円でもレコードを存在させるようにすればこの問題はありませんが、必ずしもデータをそのように作れるとは限りません。
こういった場合、CALULATEの結果に"+ 0"を付けるだけで問題が解決できます。
Rate of Item A =
DIVIDE(
CALCULATE(SUM('Table'[Revenue]), 'Table'[Item] = "A") + 0,
SUM('Table'[Revenue])
)
このDAXにするとチャートはどうなるでしょうか。
これで名古屋のデータも表示されるようになりました。