こんにちは。エクスチュアの大吉です。
これまでの記事では、FIXED(ビューに関係なく粒度を固定するやつ)とINCLUDE(ビューに粒度を追加するやつ)について解説しました。
今回は、LODの3つ目、「EXCLUDE」にフォーカスして解説していきます。
- ビューには細かい粒度で表示したいけど、集計は粗い粒度で行いたい
- 一部のディメンションを無視して集計したい
- 「日別の売上」を見ながら「カテゴリ全体の売上」も並べて表示したい
上記のような表現をしてみたい、そもそもEXCLUDEって何なの?、、、ぜひ最後まで読んでみてください。
目次
EXCLUDEとは
EXCLUDEを一言で表すなら、こうなります。
「ビューの粒度から、指定したディメンションを除外して計算する」
ここで重要なのは、「ビューの粒度を基準にする」という点です。
FIXEDは「ビューに関係なく」計算しましたが、EXCLUDEは「ビューを見てから、その中の一部を除外する」という動きをします。
つまり、ここまでのLOD3種を整理すると
- FIXED:ビューとは無関係に、明示的に指定した粒度で計算
- INCLUDE:ビューの粒度に、指定したディメンションを足し算して計算
- EXCLUDE:ビューの粒度から、指定したディメンションを引き算して計算
という違いがあります。
言い換えると、EXCLUDEは「ビューの粒度から一部を取り除いて、より粗い粒度で集計したい」ときに使う仕組みです。
EXCLUDEが必要になるとき
では、次のような要件を考えてみます。
「日別×カテゴリ別の売上を見ながら、日別の売上も並べて表示したい」
ここで重要なのは、
- ビューの粒度:オーダー日(日)× カテゴリ
- 求めたい粒度:日付のみ(カテゴリを除外)
というズレです。
通常のSUM関数では、ビューの粒度(この場合は日付×カテゴリ)に従って集計されてしまいます。
「日別の売上合計を表示したいのに、カテゴリに分割されてしまう…」
これは、Tableauの集計の仕組み上、自然な動きです。
ビューに配置されているディメンションが、集計の粒度を決めているからです。
ここで初めて、粒度から日付を除外する必要が出てきます。
※「表計算でできるじゃん」と思ったあなた、そうなんです、が大人の事情で一旦表計算は忘れましょう。。。
EXCLUDEを使ってみる
そこで、次のLOD計算を作成します。
{ EXCLUDE [カテゴリ] : SUM([売上]) }
この式が言っていることは、こうです。
「ビューの粒度(日付×カテゴリ)から、カテゴリを除外して売上を合計して」
内部的には、
- ビューの粒度を確認する(日付×カテゴリ)
- そこから「カテゴリ」を除外する
- 残った「日付」の粒度で集計する
という処理が行われています。

行:オーダー日(日)とカテゴリ
列:SUM([売上])と{ EXCLUDE [カテゴリ] : SUM([売上]) }
今度は、同日で複数の売上が立っていても、日別の売上合計は変わりません。
これは、EXCLUDEがビューの粒度から「カテゴリ」を除外し、日付だけの粒度で集計しているからです。

EXCLUDEを用いることで、このように各カテゴリがその日の売上の何%を占めているかがわかります。
フィルターとの関係
EXCLUDEもINCLUDEと同様に、フィルターの影響を受けます。

フィルター:地域を「関東地方」「関西地方」「九州」に限定
行:オーダー日(日)とカテゴリ
列:SUM([売上])と{ EXCLUDE [オーダー日] : SUM([売上]) }
結果:両方の値がフィルターの影響を受けて変化します。
これもFIXEDとの違いの1つです。
「どのフィルターがかかってからEXCLUDEが適用されるか」はFIXEDと異なります。
FIXEDではディメンションフィルターを適用しても、値に変化はありませんでしたが、EXCLUDEはディメンションフィルターが適用されます。
これは、EXCLUDEがディメンションフィルターの後に評価されるためです。
Tableauの計算順序(クエリパイプライン)では、
- ディメンションフィルター
- EXCLUDE / INCLUDE の評価
- メジャーフィルター
という順序になっています。
※クエリパイプラインではさらに細かい順序でフィルターがかかりますが、今回詳細は省きます
EXCLUDEを使うときの思考フレーム
最後に、EXCLUDEを書く前に考えてほしいことをまとめます。
- 今のビューの粒度は何か
→ 行や列に配置されているディメンションを確認 - どのディメンションを除外したいか
→ 粒度を粗くしたい対象を明確にする - 除外後の粒度で、どんな集計をしたいか
→ SUM、AVG、COUNTなど - フィルターの影響を受けることを理解しているか
→ EXCLUDEはディメンションフィルター後に評価される
この視点を持つだけで、EXCLUDEの使用機会も増え、伝えたいことを伝えやすいダッシュボードを作成することができます。
まとめ
いかがだったでしょうか。
EXCLUDEは、「ビューの粒度から、指定したディメンションを除外して計算する」という特性を持っています。
FIXEDが「ビューに関係なく」計算し、INCLUDEが「ビューに追加」するのに対し、EXCLUDEは「ビューから除外して、より粗い粒度で計算する」という考え方です。
だからこそ、
- ビューの細かい粒度を保ちながら、粗い粒度の集計を並べて表示できる
- 構成比の計算などで威力を発揮する
- ビューの構成が変わると、EXCLUDEの結果も変わる
という特性があります。
EXCLUDEは、ビューに寄り添いながら、柔軟に粒度を調整できる武器です。EXCLUDEを上手に活用できれば1段質の良いダッシュボードが作成できると思います。
これで、FIXED、INCLUDE、EXCLUDEの3つのLOD計算をすべて解説しました。
それぞれのLODの特性を理解し、適切に使い分けることで、Tableauでの分析の幅が大きく広がります。
ぜひ、実際のデータで試してみてください。











