ExcelのピボットテーブルのレイアウトはPower Pivotで比較結果を見やすい表示も可能です。全データの件数と年代別の件数を並べて表示したいなど集計の軸(行や列)に影響しないデータ集計、表示をしたいときの備忘録。
内容:
前提とアウトプットイメージ
例えば、分析で見やすいレイアウトにするため、次のようにピボットテーブルの表内で全データの件数と年代別の件数を並べて表示したい時があります。しかし、通常のピボットテーブルでは、行や列に設定した軸に基づいた集計しかできません。
そのため、全体件数と年代別件数を並べた表示にするには、レイアウトの制限を大きく受けてしまい、そのままでは使いづらい表ができてしまいます。
その結果、最終アウトプットに近いピボットテーブルを作成した後、最後のひと手間でコピー、別表に貼り付けなどの作業が発生しがちです。
しかし、最近のExcelに標準で含まれているPower Pivot を使えば、上図のように集計の軸(行や列)に影響しないデータ集計が可能で、比較結果を見やすいレイアウトにできます。なお、以下説明のExcelは、Microsoft® Excel® for Microsoft 365 MSOです。
作成手順
基本は、PowerPivotのメジャーという機能を使い、次のような数式を設定する。
=CALCULATE( 数式 , 絞り込み条件 )
要は、CALCULATEという関数を使うと、ピボットテーブルの集計の軸(行や列)ではなく、”絞り込み条件”に設定した内容で集計できるという理解で良いと思う。
具体的には、次のとおり。
PowerPivotの使用方法は、いつもと同様にデータ範囲を指定してピボットテーブルを作成する。ただし、この時に「このデータをデータモデルに追加する」に必ずチェックする。
チェックしないと、この後のメジャーという機能が使用できず、いつものピボットテーブルになってしまう。以下、こちらでも記載した手順も含めて再掲。
作成したピボットテーブルで、メジャーの追加
シートのようなアイコン「範囲」を右クリック
「メジャーの追加」をクリック
メジャーの名前と、数式を入力
例) =CALCULATE(COUNTROWS('範囲'),ALL('範囲'))
COUNTROWS('範囲')で、範囲というテーブルの行数を数える。
この時、絞り込みの条件はALL('範囲')で、全てという意味。
もちろん、COUNTROWS以外に様々な集計関数がある。
OKで確定すると、fxで始まるメジャーが追加される。
作成したメジャーを値フィールドにし、列と行も設定すると、次のようになる。
このサンプルでは、元データの全件数が1999件で、「全データ件数」に、行の設定に影響しない集計結果が表示されている。
以上、ピボットテーブルで、比較結果を見やすいレイアウト例として、集計の軸(行や列)に影響しないデータ集計、表示の方法でした。全データの件数と年代別の件数を並べて表示したいといった場面で便利です。
参考情報
サンプルファイル
上記の記事で使用した練習用のサンプルファイルを「note」に掲載しています。
PowerPivotを設定したファイルも販売しています。
PowerPivotで知っておくと便利な集計事例
ピボットテーブルの軸で、一部はそのまま集計の軸(行や列)に利用するが、その他は利用しないなど、少し応用の方法。
上記で紹介のデータ集計、表示の基本は、集計の軸(行や列)の絞り込み条件をすべて無視する方法で、詳しい違いは次をご覧ください。
なお参考で、PowerPivotであれば、値フィールドに、文字列をそのまま表示などもできます。