こんにちは、エクスチュアの渡部です。
今回からLOD計算について、複数回に分けて分かりやすく解説していければと思います。
・Tableauにおける「集計」とは
LOD関数の説明に入る前に、まず「集計」について説明します。
Tableauを扱う上で、「集計」「非集計」の概念は非常に重要です。よく計算フィールドのエラー文で悩まされている方も多いのではないでしょうか?
「集計」とは、シンプルに言うと「集計関数を使って結果を出すこと」です。
「集計関数」とは、合計・平均といったような、「該当列の全ての値を用いて計算を行う関数」です。
一方で集計関数以外の関数は、全ての行を使用するというようなことはせず、与えられた引数を処理するのみの関数です。
※ROUND関数…指定された桁数に値を丸める関数。
※Tableau集計関数一覧:http://onlinehelp.tableau.com/current/pro/desktop/ja-jp/functions_functions_aggregate.html
・通常の集計関数は、「データソースの行レベル」の集計しか行えない
そんな集計関数ですが、実は「平均」「最大値」「最小値」の粒度はデータソースによって制限されます。
例として、Tableauサンプルデータである「スーパーストア」を使って説明します。データソースはこんな感じですね。
例えば、AVG([売上])を使って値を出してみました。
これは、「1購入あたりの売上額の平均」ですね。これはデータソースの各行が「1購入におけるデータ」から成り立っているからです。MAX([売上])なら、「1購入あたりの売上額の最大値」、MIN([売上])なら「1購入あたりの売上額最小値」です。
※厳密にはデータソースの粒度は「1購入における製品別」ですが、その辺はご愛想ください
つまり、データソースの各行が「1購入あたりのデータ」から成り立っている時点で、「1購入あたり」以外の粒度での集計になると自由度が下がります。これって凄く不便ですよね。当然、「平日/土日別の1日当たりの売上最大値」「都道府県ごとの顧客一人当たりの平均購買日数」といったような、データソースの粒度では対応できない集計指標が必要な場面が必ず出てきます。
これに対処する手として、表計算やリファレンスラインを用いる手もあります。
ただ、これらの機能は画面上に全ての数字を出すことが前提のため、数字は出せてもダッシュボードとして展開するには微妙なケースがほとんどです。
また、データソースを再集計するという手もありますね。
ただ、これは手間がかかりますよね。。
では、どうすれば良いのでしょうか?
その解決策こそが、集計の粒度を自由自在に扱える「LOD関数」です!
・LOD関数は集計の粒度を自由に操れる
LOD関数は、「集計の粒度を自由に操れる関数」です。
LOD関数を使えば、データソースがどのような粒度で成り立っているかに縛られることはありません。
自由な粒度で合計やら平均やらを集計可能になります。
例えば、下記はサンプルスーパーストアのデータを使って、「顧客一人当たりの売上」の平均や最大値などを出したものになります。「1購入あたり」の粒度ではない集計条件ですが、データソースに手を加えることなく表示出来ています。
・LODの活用
LODの仕組みを活用することで、「自由な粒度でのヒストグラムの作成」「コホート分析の実施」、「合計に対する割合の算出」「ある期間での最終日の値のみ出す」といったような様々な分析が実現できるようになり、分析やダッシュボードの表現の幅も大きく広がるのです。
下記はLOD計算の活用例を紹介しているTableauブログになります。
https://www.tableau.com/ja-jp/about/blog/LOD-expressions
魅力が伝わりきったか分かりませんが、LOD関数はTableauの醍醐味と言って良いでしょう。
「LODを制するものはTableauを制す」と云う言葉もあるぐらいです。是非、本ブログをきっかけにLODを使って頂けるようになると嬉しいです。
次回はFIXEDについて説明します。
————-
エクスチュアは国内では希少なTableau Certified Professionalも在籍するTableauのパートナー企業です。
また、Google Cloud Platform、Adobe Marketing Cloudといったマーケティングテクノロジーに精通した経験豊富なスタッフが、御社のビッグデータ分析をサポートします。
お問い合わせはこちらから
ブログへの記事リクエストはこちらまで