0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tableau INCLUDE, EXCLUDEとは?

Last updated at Posted at 2025-03-17

今回はTableauでもややこしい、INCLUDE, EXCLUDEの解説をしようと思います。

あくまで私の見解や解釈になりますので、ご容赦ください。

INCLUDE

INCLUDEの気持ち

INCLUDEは「先にこの単位で集計してテーブルを作り直し、それ以降の集計計算もこのテーブルを使ってね」というのが、基本的な考え方になると理解しています。

Excelで計算してみる

まずはカテゴリごとに売り上げを平均すると以下のようになります。Excelで計算してみました。

image (37).png

INCLUDEを入れて、Tableauで色々表示させてみる

INCLUDEを入れたり入れなかったり、入れた場合はINCLUDEの対象とする列を、顧客ID・カテゴリ・サブカテゴリに変更してみました。

{INCLUDE[顧客ID]:AVG()[売上]}
{INCLUDE[カテゴリ]:AVG()[売上]}
{INCLUDE[サブカテゴリ]:AVG()[売上]}

売上の平均をINCLUDEしてみた結果は以下になります。

image (38).png

結果からわかる通り、INCLUDE無しでカテゴリごとの平均売上を出しているものと、INCLUDEにカテゴリを入れたものは同じ結果になっています。顧客IDとサブカテゴリをINCLUDEに入れたものは、単純に売上を平均した結果と異なる結果になりました。

結果を考察してみる

1つ例としてサブカテゴリを用いて、なぜINCLUDEサブカテゴリにしたものは、単純な平均売上と異なる結果になったか考えてみましょう。例としてINCLUDEサブカテゴリ列の家電について考えてみます。

image (39).png

INCLUDE式の処理内容を日本語にしてみて、その処理に従ってExcelで処理してみると以下のようになります。

{INCLUDE[”サブカテゴリ”]:AVG()[”売上”]}:サブカテゴリ単位でのテーブルを作成し、行にカテゴリ、列に平均売上を入れる

「サブカテゴリ単位でのテーブルを作成し、」までを処理したらこうなります。カテゴリも列に入れている理由としては、この後カテゴリごとに集計するためです。サブカテゴリが行の最小単位になっているということが大事です。

image (40).png

例えばこの状態で家具になっている売上だけを平均してみます。

image (41).png

総計になっていますが、家具の平均が37,421となり、TableauでのINCLUDEの結果と一致しました!

今回はサブカテゴリ⊂カテゴリ(サブカテゴリはカテゴリに含まれる)の関係なので検証しやすい結果となりましたが、逆パターンでもやってみました。例としてサブカテゴリをINCLUDEしたときのアプライアンスの平均値を先程の例と同様にして見てみます。

image (42).png

image (43).png

値が一致しました!

EXCLUDE

EXCLUDEは「指定された列は全て区別できない単一の値に置き換え、今後の集計でも使えなくしてね」というのが基本的な考え方です。

image (44).png

カテゴリを行にしている状態で売上の値がすべて同じになりました。

この22,718という値ですが、この値は全売上の平均値です。つまりカテゴリを無視して売上の列の値をそのまま平均したときの値です。

image (45).png

このことから、Tableau内で平均値を集計計算する前にEXCLUDEでカテゴリを除外したものだとわかります。行われている計算としては「カテゴリを除外して平均計算をしてね」ということになります。Excelで説明すると、カテゴリの「家具、家電、事務用品」が全て「除外済み」のような単一の文字列になったイメージです。

image (46).png

理解するうえで気を付けたい点としては、値が「除外済み」という値になっただけで、列全体が除外されて居なくなったわけではないということです。

image (47).png

これだとこのテーブルをどう集計しようとも、行をカテゴリにして平均を集計したところで元が家電なのか家具なのかもわからなくなってしまっています。そのため、全体の平均を各行に表示しているということになります。

私の失敗例ですが、「EXCLUDEって除外だから、列を削除してるのかな?」と認識してしまっていたこともあります。ただこれだと列を削除してしまうと結果を今回のように表示できなくなってしまうので、**「EXCLUDEをすることで、(列を削除するのではなく)EXCLUDEにした列の中身を、元の値が何だったかわからなくする」**というのが理解として正しそうなのかなと思っています。

以上です。ご意見や感想などございましたらお願いします。

万が一間違ってる場合はご教示いただけますと幸いです。

ありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?