タロ子の頭の中

音楽と仕事の雑記。

【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データ分析 ~実践から活用まで~


データビジュアライゼーションの教科書

Tableauによる最強・最速のデータ可視化テクニック ~データ加工からダッシュボード作成まで~