エクセル (vr2016) ピボット – フィルターを無視して計算する 関数「CALCULATE」

エクセル (vr2016) ピボット – フィルターを無視して計算する 関数「CALCULATE」

ピボットテーブルの小計は表に従い集計されます。表にあらわれていない小計を常に分母とした構成比計算をおこないます。

行ごとの構成比
クロス集計表

・行=住所
・列=性別
・メジャー=売上売価
 クロス集計表です。

計算の種類を変更

 メジャー売上売価の計算の種類を変更します。
・「行集計に対する比率」です。
 これで、住所別の性別売上売価構成比になります。横計が100%になる構成比です。

フィルター
フィルター

 性別をスライサーでフィルターします。
・性別「1」を選択すると列は「1」だけになります。すべての値は100%です。
・性別「2」を選択すると列は「2」だけになります。すべての値は100%です。

 フィルターされることで構成比計算の分子も分母も同一値になるため、計算結果は100%です。

フィルター関数で分母を作成
#分子
SUM(分子になるメジャー)

#具体例
SUM([売上売価])

 分子は売上高の合計です。
 分母も売上高の合計ですが、少し工夫が必要です。

#分母
CALCULATE(SUM(分母になるメジャー),ALL(フィルターをクリアする列)


#具体例
CALCULATE(SUM([売上売価]),ALL(masta[性別]))

 フィルター関数「ALL」を使用して「性別」のフィルターを無視します。

DAX式
=SUM([売上売価])/CALCULATE(SUM([売上売価]),ALL(masta[性別]))
メジャーを入れ替え

 DAX式の計算メジャーを値へ設定します。

フィルター

 「性別」をフィルターしても値が変化しなければ成功です。