LOD表現のおさらい
前回の記事でLOD表現の基本についてご紹介しました。
再掲になりますが、LOD表現の基本は以下となります。
・LOD表現は行や列に設定しているディメンションを無視した粒度で集計できる
・LOD表現の基本的な構文は {FIXED ディメンション名 : 集計式}
・LOD表現同士でないと四則演算ができないため、割合などを出す場合は分子分母両方をLOD表現で作成する
今回の記事では前回の内容を踏まえ、FIXED以外のLOD表現「INCLUDE」についてご紹介していきます。
INCLUDEの基本的な考え方
INCLUDEは「粒度をディメンションより細かなレベルにして集計する」ことが可能になるLOD表現です。
「粒度をディメンションより細かなレベルにして集計する」とは、ビュー上に配置しているディメンションが有効な状態で更に細かい集計単位を設定できるということです。
前回主に紹介したFIXEDは「ディメンションを無視したレベルで集計する」LOD表現なので、ビュー上に配置しているディメンションを無視する(FIXED)か有効にする(INCLUDE)かが大きな違いとなります。
INCLUDEを使ったLOD表現の基本的な構文は以下の通りです。
{INCLUDE ディメンション名 : 集計式}
→ビューに配置しているディメンションを有効にした状態でカテゴリ毎の売上合計を集計したい場合は以下の書き方になります。
{INCLUDE カテゴリ : Sum(売上)}
INCLUDEの実践的な使い方
では「粒度をディメンションより細かなレベルにして集計する」ということが求められるのは具体的にどういった時でしょうか。
サンプルのスーパーストアデータを見ながら確認していきたいと思います。
ここでは地域単位の粒度で集計結果を見つつ、「地域の顧客あたりの平均売上」も同じビューで見たい、という要望があったと仮定します。
その場合、とりあえずディメンションに地域を設定し・・・となりますが、INCLUDEを知らない状態だとビューを作っていく中でどう表現すればよいか困ってしまうかと思います。
これは「地域単位」と「地域の顧客あたり単位」という全く異なる集計粒度を一つのビューでまとめて表現しようとしているためです。
ディメンションに「地域」を設定しているがINCLUDEを使わないと地域単位の集計しかできずその下の粒度(顧客単位)を表現することが難しい
※「平均売上」は地域内の全明細の平均売上で顧客単位ではない
では、INCLUDEを使って「地域」のディメンションに「地域の顧客あたり単位」の平均売上を出してみたいと思います。
まずは以下の数式を計算フィールドで作成します。
{INCLUDE 顧客ID :Sum(売上)}
ビューのディメンションを活かしつつ「顧客ID」単位で売上を合計するINCLUDEを使ったLOD表現
さらに上記のLOD表現をAVG関数で囲み、「顧客毎の売上合計の平均値」を算出します。
AVG({INCLUDE 顧客ID :Sum(売上)})
LOD表現をAVG関数で囲む
これで計算フィールドの設定としては完成です。
では、実際にビューにこの計算フィールドを配置して確認してみましょう。
ビュー上に左から売上、顧客数、顧客毎の平均売上を表示
「地域」という粒度のみを指定していますが、ビューの中では「顧客単位」の平均という異なる粒度の値を同じビューで見れることが確認できます。
このようにINCLUDEを使うことによってビューで設定しているディメンションとはまた別の粒度で集計を行い、同じビューの中に表現することができます。
まとめ
・INCLUDEは「粒度をディメンションより細かなレベルにして集計する」ことができる
・FIXEDとの違いはビューに設定しているディメンションを無視する(FIXED)かしない(INCLUDE)か
・INCLUDEを使ったLOD表現の基本的な構文は {INCLUDE ディメンション名 : 集計式}
デモを交えて短時間でTableauの概要をお伝えしたり、Tableauを活用した事例紹介のウェビナーも随時開催中です。下記のリンクよりぜひご参加ください。
新卒でソフトウェアベンダーに入社しBIツールを使ったシステム構築やデータ分析の他、顧客向けのトレーニングやセミナー講師を担当。
その後、WEB系事業会社のWEBマーケティングの担当として新規顧客獲得や広告運用の業務を担当した後ヴァリューズに入社。
現在はお客様が持っているデータを活用してマーケティングの支援を行う他、WEBマーケティングデータとBIツール「Tableau」を組み合わせた新たなサービスの開発にも従事。