2015年04月11日

「データの無いアイテムを表示する」で注意しなければいけないこと(あり得ないアイテムが表示される)/ピボットテーブル/Excel

便利な「データの無いアイテムを表示する」なのだけど、複数のフィールドを表示していてそれらのフィールドで上位・下位や所属、カテゴリ等の従属な関係がある場合、下位のフィールドで「データの無いアイテムを表示する」を実行させると、上位のフィールドのアイテムとは無関係に全てのアイテムが表示されてしまうのです。
つまり、実際のデータではあり得ないアイテムの組合せが表示されてしまうのです!
20150411_000.jpg

例えば、こんなデータソースがあります。
3月と4月の高級車?の販売台数のデータ?東京・千葉・神奈川・茨城のどこに何台売れたが入力されています。
20150411_001.JPG
3月は東京では杉並区で販売されましたが、世田谷区では販売されませんでした、他県でも同様にデータの無いアイテムが存在しています。

で、作りたいのはこんなピボットテーブルです。
都道府県ごとに販売がなかった区市町村も表示しています。
20150411_002.JPG

ところが、フツウにピボットテーブルを作ると、こんな感じになります。
データの無いアイテム、例えば、3月の東京都の世田谷区は表示されません(元々、データソースにそんなデータがないため)
20150411_003.JPG
ちなみに、フィールドリストはこうです。表形式で、小計は非表示にしています。
20150411_004.JPG

そこで、「ピボットテーブルツール」、「オプション」から「フィールドの設定」を選択し、
20150411_005.JPG

「データの無いアイテムを表示する」にチャックを入れます。
20150411_006.JPG

すると、市区町村に全てのアイテムが表示されます。
つまり、"都道府県"のフィールドのアイテムとは無関係に全て表示されてしまうのです。
東京都 横浜市 とか。。。
20150411_007.JPG

つまり、「データの無いアイテムを表示する」は一つのフィールド、ここでは"区市町村"に対する操作なので、"都府県"のフィールドとは全く関係がないのです。
この例のような、"都府県"と"区市町村"の組合せの様に一目であり得ない組合せかどうか分かる場合はまだいいのですが、分かりにくい場合や元々2つのフィールドで従属的な関係があるかどうかも分からないような場合もありでしょう。そのような時「データの無いアイテムを表示する」をする場合は、他のフィールドのアイテムとは一切無関係に全て表示されているんだっていう理解をしておくことが大切だって訳です。

んで、この場合の対策は。。。

1.グループ化で"都府県"の仮のフィールドを作って"区市町村"と関連付ける
データソースの"都府県"のフィールドはピボットテーブルには使用せず、ピボットテーブルの"区市町村"のアイテムをグループ化して"都府県"の仮のフィールドを作ります。グループ化により出来た"都府県"のアイテムと"区市町村"のアイテムには当然従属関係がありますし、データソースからは"区市町村"のフィールドしか使用していないため、「データのないアイテムを表示する」を実施してもあり得ないアイテムの組合せが表示されるようなことはありません。
詳しくはコチラをごらんください。

2.「データの無いアイテムを表示する」を使わない方法
元データ(データソース)に各月のデータに実在する"都府県"と"区市町村"のデータを値は空欄でダミーで入力してしまいます。
20150411_008.JPG

で、「ピボットテーブルツール」、「オプション」から「オプション」を選択し、
20150411_009.JPG

「空白セルに表示する値」にチェックを入れ"0"を入力します。
20150411_010.JPG

すると、表示させたいピボットテーブルになりました。
20150411_011.JPG

3.表示させるフィールドを1つにして「データの無いアイテムを表示」させる
もう一つのやり方は、邪道ではありますが、表示させるフィールドを無理やり1つにしてしまうことです。
データソースにフィールドを追加して、そこに"都府県"と"区市町村"の組合せを表示させてしまいます。
"住所"と言うフィールドを追加します。演算子"&"を使うとセルのテキストをつなげることができます。見やすいように間に" "(半角スペース)をいれています。
20150411_012.JPG

そして、ピボットテーブルには"住所"のフィールドだけにして、「データの無いアイテムを表示する」にします。
20150411_014.JPG
すると、こんな感じになりました。。。
20150411_013.JPG

と、いろいろ手はありますが、一番まともそうなのは"1"のグループ化でしょうか。。。


バックデータ
データの無いアイテムを表示してみた

関連ページ
市区町村を都府県でグループ化してみた(データの無いアイテムの表示が出来る)


posted by haku1569 at 12:58| Excel ピボットテーブル | このブログの読者になる | 更新情報をチェックする
' + adSrc + '<' + '/body>'); d.close(); } loadAd(); window.setTimeout(loadAd, reloadSec * 1000); window.setTimeout(function() {adDiv.style.display = 'none'}, hideSec * 1000); }); }