Tableau

Tableau:分かりやすいLOD – INCLUDE編

エクスチュア渡部です。今回はLODブログの第3弾です。
INCLUDEと、INCLUDEとFIXEDとの違いについて説明します。

これまでも説明した通り、LODの基本は「データソースでは実現できない粒度での集計を実現すること」です。
この説明がピンとこない場合、下記記事を読んでください。

・Tableau:分かりやすいLOD – 概要編

では、INCLUDEはどのようにして任意の粒度での集計を実現するのでしょうか?
実はINCLUDEはある大きな1点を除いてFIXEDと基本的に考え方が一緒です。その違いは最後に説明するので、
それまではあえて前回のFIXED説明ブログと同じ表現で記載します。

・INCLUDEが任意の粒度で集計する仕組み

実は、「通常の集計関数を使った集計」と「INCLUDE関数を使った集計」では集計に使うデータソースが違います。
通常の集計関数は当然、データソースをそのまま用います。それに対してINCLUDEを使った集計は
「データソースを基に作成した中間テーブル」を使って集計を行うのです。(これはTableauがDB側に発行するSQLを読み解くと理解できます)。

例えば、サンプルスーパーストアの例を使って、「都道府県別顧客一人当たりの平均購買日数」を出してみましょう。
サンプルスーパーストアは1行1行のデータが、「1オーダー×製品別?」という粒度なのでこの集計には以下のようなステップが必要です。

① :顧客名ごとの購買日数(COUNTD([オーダー日])で集計した中間テーブルを作る
② :①の平均を都道府県別に出す

この①をINCLUDEで実現します。下記画像のようなイメージです。

今回の場合、まず中間テーブルを作るにあたり下記のように書くだけです。
{INCLUDE [顧客名] : COUNTD(オーダー日)}

今回出したいのはこの結果の平均なので、これをAVG関数で囲みます。
AVG({INCLUDE [顧客名] : COUNTD([オーダー日])})

これで出した結果を配置すれば、都道府県ごとの「都道府県別顧客一人当たりの平均購買日数」を出すことが可能です。

 

・活用例

「INCLUDE式を書くことは中間テーブルを作ること」なので、FIXED式の書き方次第で、「中間テーブル」の構成も変わっていきます。いくつか例を並べます。

(1)中間テーブルの粒度:顧客ごとの売上
→{INCLUDE [顧客名] : SUM([売上])}
顧客ごとの売上平均 :AVG({INCLUDE [顧客名] : SUM([売上])})
顧客ごとの売上最大値:MAX({INCLUDE [顧客名] : SUM([売上])})
顧客ごとの売上最小値:MIN({INCLUDE [顧客名] : SUM([売上])})

(2) 中間テーブルの粒度:顧客ごとの購買日数
→{INCLUDE [顧客名] : COUNTD([オーダー日])}
顧客ごとの購買日数平均 :AVG({INCLUDE [顧客名] : COUNTD([オーダー日])})
顧客ごとの購買日数最大値:MAX({INCLUDE [顧客名] : COUNTD([オーダー日])})
顧客ごとの購買日数最小値:MIN({INCLUDE [顧客名] : COUNTD([オーダー日])})

(3) 中間テーブルの粒度:顧客ごとの初回購買日
→{INCLUDE [顧客名] : MIN([オーダー日])}
顧客ごとの初回購買日最大値:MAX({INCLUDE [顧客名] : COUNTD([オーダー日])})
顧客ごとの初回購買日最小値:MIN({INCLUDE [顧客名] : COUNTD([オーダー日])})

(4) 中間テーブルの粒度:各サブカテゴリの1日当たりの売上
→{INCLUDE [オーダー日],[サブカテゴリ] : SUM([売上])}
各サブカテゴリの1日当たりの売上平均 :AVG({INCLUDE [オーダー日],[サブカテゴリ] : SUM([売上])})
各サブカテゴリの1日当たりの売上最大値:MAX({INCLUDE [オーダー日],[サブカテゴリ] : SUM([売上])})
各サブカテゴリの1日当たりの売上最小値:MIN({INCLUDE [オーダー日],[サブカテゴリ] : SUM([売上])})

書き方1つで自由な粒度での中間テーブルを作成できますね。それを集計関数によって囲むことで様々な集計を可能にしています。
そうしてINCLUDE式は任意の粒度での集計を可能にするわけです。

・FIXED関数との違い

では、INCLUDEとFIXED式の決定的な違いを説明します。
それは、「ビュー内に既に存在するディメンションを考慮するかしないか」です。

例えば、下記の2つの結果を見比べてみましょう。

左側の式:AVG({INCLUDE [カテゴリ]: SUM([売上])})
右側の式:AVG({FIXED [カテゴリ]: SUM([売上])})

カテゴリごとの合計売上の平均というよく分からない例ですがご容赦ください。
2つの結果が明らかに違いますね。その理由は、「LOD式内で宣言している以外のディメンションを考慮するかしないか」です。
INCLUDEは既にビュー内に配置されているディメンション(都道府県や地域・年のフィルター)を考慮した上で、カテゴリごとの合計平均を出しているのに対して、
FIXEDはそれらを無視してます。

そのため、この2つには以下のような違いがあります。

左側のグラフ:AVG({INCLUDE [カテゴリ]: SUM([売上])})
→2018年の関西地方における都道府県別の「カテゴリごとの合計売上の平均」

右側のグラフ:AVG({FIXED [カテゴリ]: SUM([売上])})
→ただの「カテゴリごとの合計売上の平均」※フィルターはかかっていない

FIXEDはビュー内に配置されているディメンションでも、FIXED式内で宣言されていなければ基本的に無視します。
そのため、FIXED式で今回のフィルターを考慮した集計にしたい場合は、以下のように書く必要があります。
AVG ({FIXED [年(オーダー日)],[地域],[都道府県],[カテゴリ]: SUM([売上])})

実際に入れてみました。数字がINCLUDEと一致しますね。

つまり、既に配置されているビューを考慮して欲しいならINCLUDEを使い、
あえて考慮して欲しくないディメンションがあるならFIXEDを使用すれば良いのです。

そのため、今回のような用途ではINCLUDEを使うのをお勧めします。
(シンプルですしディメンションの宣言し忘れによる集計ミスも防げるためです)

以上がINCLUDEの説明になります。
次回はEXCLUDEについて説明します!

————-

エクスチュアは国内では希少なTableau Certified Professionalも在籍するTableauのパートナー企業です。
また、Google Cloud Platform、Adobe Marketing Cloudといったマーケティングテクノロジーに精通したスタッフが、
デジタルマーケティングからビッグデータ分析まで統合的にサポートします。

お問い合わせはこちらからどうぞ

ブログへの記事リクエストはこちらまで

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Tableau

    Tableauで半円型のゲージを作る方法

    こんにちは。エクスチュアの田中寛人です。今回はTableauで半円型の…

  2. Tableau

    Tableau Serverの基礎をまとめてみた

    【目次】・はじめに・Tableau Serverが必要な理由・環…

  3. Tableau

    ネストLODで2重のFIXED関数を使ってみる【Tableau】

    ネストLODとはネストLODとは「入れ子になっているLOD計算」のこ…

  4. Tableau

    上位N件セットを使って「その他」を効果的に表現する【Tableau】

    完成図【手順】パラメータを用いて上位N件セットを作る①:パラメー…

  5. Tableau

    あなたのTableau(タブロー)が重い理由【パフォーマンスの記録】

    はじめにTableauを利用している人のほとんどが経験しているであろ…

  6. Tableau

    Tableauで見たい期間のみの昨年対比推移グラフを作る方法

    「ある数値の推移に加えて、昨年対比の推移も同時に表示したい」というの…

最近の記事

  1. 【GA4/GTM】dataLayerを使ってカスタムイベント…
  2. 【GA4/GTM】dataLayerを活用しよう
  3. ジャーニーマップをデジタルマーケティングの視点で
  4. ChatGPT ProからClaude3 Proへ移行した話…
  5. その分析、やり方あってる?記述統計と推測統計の違い
  1. GA 360 Suite

    GoogleDataStudio:複数のデータソースにフィルターを適用する
  2. Excel

    Google Analytics URLクエリパラメータ 簡単削除方法
  3. Adobe Analytics

    Adobe Summit 2020レポート: Customer Journey …
  4. ヒートマップ

    Mouseflowの新機能:ヒートマップからフリクションが検知されたセッションリ…
  5. Qualtrics

    イベントレポート Qualtrics XM on tour TOKYO 2022…
PAGE TOP