【tableau】フィルターを使わず特定の項目だけを引いて合計値を求める計算式
例題
下記の「T_TAMAGO」テーブルの中から
サイズが「S」で、色が「白」を除外して価格合計値を知りたい
T_TAMAGO
メーカー | サイズ | 色 | 価格 |
---|---|---|---|
A | L | 赤 | 500 |
B | M | 赤 | 200 |
A | S | 白 | 300 |
D | S | 赤 | 400 |
A | S | 赤 | 100 |
SQLの場合
SELECT A.SUM(価格) FROM T_TAMAGO AS A WHERE A.色 = "赤" AND A.サイズ = "S"
SQLだとこうなりますよね
同じ要領でtableauで実現しようとする時は
列に「サイズ」が「S」、フィルターで色「白」を除外するに設定すれば
色が「白」以外の価格の合計値が出てきます。
では、計算フィールドではどうでしょうか?
計算フィールドでサイズが「S」の時のみ、「白」を除外した価格の合計値を出す
IF ATTR([サイズ]) = "S" THEN SUM([価格]) - SUM( CASE [色] WHEN "白" THEN [価格] ELSE 0 END ) ELSE SUM([価格]) END
使い所
tableauでは基本的にはフィルターを使えば必要な値は求められますが
tableauでExcelのような表計算を出さなければならない時は
無理くり計算フィールドを駆使しで値を出す必要があります。
tableauはExcelのようにセルに任意の値を出すということが得意ではありません。
しかし、計算式を組み合わせれば駆使すればできないことはない!
オススメ学習本
データビジュアライゼーションの教科書
Tableauによる最強・最速のデータ可視化テクニック ~データ加工からダッシュボード作成まで~