Tableau

Tableau:LOD徹底解説 – 概要編

こんにちは、エクスチュアの渡部です。
今回からLOD計算について、複数回に分けて分かりやすく解説していければと思います。

・Tableauにおける「集計」とは

LOD関数の説明に入る前に、まず「集計」について説明します。
Tableauを扱う上で、「集計」「非集計」の概念は非常に重要です。よく計算フィールドのエラー文で悩まされている方も多いのではないでしょうか?

「集計」とは、シンプルに言うと「集計関数を使って結果を出すこと」です。「集計関数」とは、合計・平均といったような、「該当列の全ての値を用いて計算を行う関数」です。対義語?に、「非集計関数」があります。これは、該当列の各行を用いて計算を行う関数です。(集計結果に対して非集計関数を使うことも出来ますが)

※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のテクニカルサポート・ダッシュボード構築をはじめ、
GoogleCloudPlatformなどを用いたビッグデータの分析支援を行っております。
お問い合わせはこちらまで

関連記事

  1. Tableau

    Tableau:Presto APIを使ったTreasure Dataへのデータ接続

    こんにちは。エクスチュアの加納です。今回は、WindowsでTab…

  2. Tableau

    Tableau:LOD徹底解説 – FIXED編

    こんにちは、エクスチュアの渡部です。LODブログ第二弾です。今回は…

  3. Google BigQuery

    Tableau : BigQueryでLOD計算が使えない場合の対処法

    こんにちは、エクスチュアの渡部です。Tableau×BigQu…

  4. Tableau

    Tableau Viz紹介 : 10.4新機能を使ってダッシュボードを作ってみた

    ----10/10(火)追記本ブログで紹介しているVizが…

  5. Tableau

    Tableau : IF文の「集計」「非集計」の混在を解決

    こんにちは、エクスチュア渡部です。これから定期的にTableauやGo…

最近の記事

  1. Adobe Target: at.jsの「チラつき」を手っ取…
  2. Tableau:LOD徹底解説 – FIXED編…
  3. BigQuery: Adobe Datafeed: even…
  4. Adobe Analytics: SegmentsAPIを使…
  5. Google Compute Engine のLinuxVM…
  1. Google BigQuery

    GCP: 今月のGCP課金額をslackに自動的に書き込む
  2. プログラミング

    Node.jsでCSVファイル内のダブルクオートで囲まれたカラム内のカンマを除去…
  3. Mouseflow

    Mouseflow:ヒートマップ表示の仕様
  4. Adobe Analytics

    Adobe Analytics:ワークスペース:セグメント比較機能の紹介
  5. Adobe Analytics

    Adobe Analytics:セグメントの落とし穴:意図しないデータが混ざる①…
PAGE TOP