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

「ExcelのCOUNTIFみたいな関数が使いたい!」
とも思ったけどもしかしてない…?

ExcelでCOUNTIFやCOUNTIFSってかなり使いますよね。
それがTableauだと同等のものが見つからないわけです><

ごり子

安心して同じようなことはできるよ!

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

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

目次

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

TableauにCOUNTIFと同等の関数はありません。
※COUNTやCOUNTD(重複なしのカウント)というものがあります。

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

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

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

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

SUM(
IF 条件
THEN 1
ELSE 0
END
)

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

  1. 数える条件をIFの後に入れる(例:[都道府県] = “東京都”)
  2. 条件に満たす場合は1
  3. 満たさない場合は0
  4. 後は1であった数を合計する
  5. 実質COUNTIFと同じになる

こういうわけです。

IFの使い方↓から。

実際にやってみた

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

都道府県別、山という文字が入る市の数データを作ります。
コードは

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

結果↓

こんな感じです。

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

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

SUM(
IF 条件
AND 条件
AND 条件
THEN 1
ELSE 0
END
)

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

【番外編】FIXEDを使う

常に都道府県単位で、人口が200000以上ある市町村数を計算したいときは

{
FIXED [調査年],[都道府県]:SUM
(
IF [人口] >= 200000
THEN 1
ELSE 0
END
)
}

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

まとめ

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

コメント

コメントする

目次
閉じる