Tableau

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

こんにちは、エクスチュア渡部です。これから定期的にTableauやGoogleDataStudioのTipsを分かりやすくお伝えできればと考えています。

第1回目は、IF文における「集計」「非集計」についてです。

IF関数で計算結果を条件分岐させようとした際、「関数の集計および非集計の引数を混在させることはできません」と言うエラー文に悩まされている方は少なくないと思います。実はこれ、仕組みを理解すればとてもシンプルに解決することが出来ます。

その仕組みとは以下の通りです。

—–

IF [条件式]
THEN [結果1]
ELSE  [結果2]
END

において、
① [条件式]が集計なら、[結果1][結果2]も集計。
② [条件式]が非集計なら、[結果1][結果2]も非集計。

ただし以下は注意
(1) NULL及び、数値と文字列( 0,100,’合格’など )は、集計・非集計どちらとしても扱える。
(2) 表計算は「集計」、LOD式は「非集計」として扱われる。※詳細は本記事最下部

—–

集計とは「集計関数を用いた」状態、
非集計とは「集計関数を用いていない」状態(集計関数以外の関数や四則演算などはOK)です。
集計関数は主にSUM,AVG,MAX,MINなどの関数がメインです。
集計関数一覧(Tableauヘルプ)

つまり、
・[条件式]で集計関数を使うなら、[結果1][結果2]も集計関数を使う。
・[条件式]で集計関数を使わないなら、[結果1][結果2]も集計関数は使わない。
ということになります。

では、「集計」と「非集計」はなぜ共存出来ないのでしょうか?
それは集計関数を使った計算と、それ以外の計算の仕方の違いをみれば理解できます。

集計関数は、データソースの該当列の「全ての行」を用いて計算します。
一方で集計関数以外の関数は、基本的にデータソースの該当列上の「1つ1つの行」を用いて計算を行っています。イメージを用意してみました。


※ROUND関数…指定された桁数に値を丸める関数。

このように計算の仕方が全く違うため、うまく条件分岐が行えなくなってしまうのです。
※「集計」「非集計」について理解を深めたい方は、TableauJapan社による記事をご参照ください。

「集計」「非集計」は最初はなかなか理解しづらい課題ですが、仕組みを正確に理解できると、
エラーの悩みから解消されるだけでなく、IF文やCASE文を入れ子にした計算フィールドをスラスラかけたり、LOD式の理解が早まったりと良いことばかりです。

エクスチュアは、Tableauの導入・テクニカルサポート・ダッシュボード構築支援を行っています。

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

———

LOD式・表計算の補足

・LOD式
LOD式は、{FIXED [dimension] : SUM([measure])}のひと固まりを非集計として扱います。
補足)LOD式を集計として扱いたい場合は、MAX{FIXED[dimension]:SUM(measure)}と言ったように、LOD式全体を集計関数で囲います。

・表計算
表計算は、「WINDOW_SUM(SUM[measure])」や「index()」といった式全体を集計として扱います。

———-

関連記事

  1. Tableau

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

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

  2. Google BigQuery

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

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

最近の記事

  1. Mouseflow:計測対象からの除外
  2. Mouseflow:レコーディングを確認する前に
  3. ObservePoint:強力でアツい機能を持つサイト監査ツ…
  4. Tableau : BigQueryでLOD計算が使えない場…
  5. Tableau Viz紹介 : 10.4新機能を使ってダッシ…
  1. Mouseflow

    Mouseflow:計測対象からの除外
  2. Google Cloud Platform

    Firebase AnalyticsのデータをフラットなCSVに変換するETL処…
  3. Adobe Audience Manager

    Adobe Audience Manager: REST APIを使ってTrai…
  4. Adobe Analytics

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

    Google Tag Manager上でGoogle Analyticsのcli…
PAGE TOP