マージ (結合) しているデータの値を使用する計算 (エクセルピボット編)

公開日 2021年7月11日 最終更新日 2021年7月14日

ピボットは項目の値を基本的には「合計」しますが、「合計」しない方法もあります。

この記事は「ダウンロードした複数ファイルをマージ (結合) する方法 (エクセル編)」の続編です。

複数ファイルをリレーションシップしたときと、DAX計算式が異なります。
複数データのリレーションとマージ (結合) 、DAX計算式が違うときがあるのはなぜか?

 この投稿は
無料販売データ「家計調査_家計収支編_二人以上の世帯_用途分類_月次_2021年5月 (列指向形式)」

無料販売データ「家計調査_家計収支編_二人以上の世帯_用途分類_月次_2021年5月_調査対象世帯について (クロス集計形式)」
 を使用して説明しています。

DAX計算

・「マージ」のデータを右クリック
・「メジャーの追加」を選択します。

・「メジャーの名前」へタイプします。

・= (イコール) の後ろへ

=SUM(
このあたりまでタイプします。

列名の候補があらわれます。
・「[消費支出額 (円)]」をダブルクリックします。

=SUM([消費支出額 (円)])/MIN(
このあたりまでタイプします。

列名の候補があらわれます。
・「世帯数マスタ.[世帯人員 (人)]」をダブルクリックします。

計算式
=SUM([消費支出額 (円)]」/MIN(世帯数マスタ.[世帯人員 (人)])

つまり
分子が、「消費支出額 (円)」の合計 (関数:SUM)
分母が、「[世帯数マスタ.[世帯人員 (人)]」の最小値 (関数:MIN)
*分母の関数はMIN,MAX,AVERAGE これらの何れかで計算できます。

・「DAX式を確認」をクリック
・数式にエラーがないこと確認します。

・カテゴリの「数値」をクリック
・「桁区切り」へチェック
・「10進数」です。

 窓へメジャーが追加できていれば成功です。

ピボットテーブルへ表示

・行フィールドへ「code_地域区分」
・値フィールドへ「消費支出額 (円)」、「世帯数マスタ.世帯人員 (人)」をドロップします。

 ピボットテーブルのC列、「世帯数マスタ.世帯人員 (人)」の値が妙だと気付けば正解です。

・値フィールドへ「世帯数マスタ.世帯人員 (人)」を、もう一回ドロップします。

・2回目にドロップした「世帯数マスタ.世帯人員 (人)」を右クリック
・「値フィールドの設定」を選択します。

・「集計方法」タブ
・窓から「最小」を選択します。(平均、最大を選択しても同じ結果を得ることができます)
・左下の「表示形式」をクリック

 セルの書式設定 が開きます。
・「数値」
・小数点以下の桁数を「2」に設定して「OK」です。

 D列が正確な数値になります。

「B列÷D列=E列」
このようになっていれば成功です。