【Tableau入門】SUMIFやSUMIFS的計算フィールドの作り方!

「ExcelのSUMIFみたいな関数が使いたい!」
SUMはあるけどSUMIFは…?

TableauにはSUMIFがないなんて言われますがそんなことありません。
組み合わせ次第で何でもできます!

ごり子

同等の関数がなくても大丈夫!

今回は、Tableau関数を使ったSUMIFやSUMIFSの表現方法を解説するとともに

具体的なコードを説明させていただきます!

目次

どんな風に書けばいい??

TableauにSUMIFと同等の関数はありません。
※もちろんSUMはあります。

なので関数を組み合わせて計算フィールドを作っていきましょう。

SUMIFを計算フィールドで実装

Excelだと
=SUMIF(範囲,検索条件,合計範囲)です。

これを計算フィールドに置き換えると

SUM(
IF 条件
THEN [集計項目]
ELSE 0
END
)

なにが起きているかというと

  1. 数える条件をIFの後に入れる(例:[都道府県] = “東京都”)
  2. 条件に満たす場合は集計項目=メジャー(例えば人口データなど)
  3. 満たさない場合は0
  4. 後は値を合計する
  5. 実質SUMIFと同じになる

こういうわけです。

IFの使い方↓から。

具体的に使ってみる

“山”と入る市町村の人口合計を出します。
下記サイトe-Statより日本の人口データを使います。
https://www.e-stat.go.jp/regional-statistics/ssdsview
総務省統計局が整備し、独立行政法人統計センターが運用管理しているようです。

まずはコード

SUM(
IF CONTAINS([市町村],”山”)
THEN [人口]
ELSE 0
END
)

結果↓

山と入る市町村の合計数が出ました。

SUMIFSを計算フィールドで実装

SUMIFに条件を追加していくだけです。

SUM(
IF 条件
AND 条件
AND 条件
THEN [集計項目]
ELSE 0
END
)

この辺はもうIFの世界なので、自由に条件を付けていいと思います。
ORでもNOTでもELSEIFでもOKです。
慣れたらCOUNTIFSより便利です。

【番外編】FIXEDを使う

常に山と入る市町村の都道府県別人口数が見たい時は

{
FIXED [調査年],[都道府県]:SUM
(
IF CONTAINS([市町村],”山”)
THEN [人口]
ELSE 0
END
)
}

このようになります。
これで市町村でフィルタしたとしても、常にこの項目は都道府県別の人口を算出します。

まとめ

  1. COUNTIFという関数はない
  2. だけどIFとSUMを使うことで同様の効果を持たせられる
  3. ANDやOR、ELSEIFで条件を追加できる

コメント

コメントする

目次
閉じる