
【Tableau】第1回:【超基本】最初に覚える「定番計算式」10選
🔍 はじめに
Tableauでダッシュボードを作っていると、
「Excelなら簡単にできるのに、Tableauではどう計算式を書けばいいんだろう?」
と悩むことはありませんか?
実は私、Tableauを触り始めたばかりの「超初心者」です!
日々、実務でTableauと格闘する中で、
「これは今後も絶対に使う!」
と思った計算式を、自分のための備忘録も兼ねてシリーズでまとめていくことにしました。
本連載は全10回を予定しています。
みなさんと一緒に少しずつレベルアップして、最終的には**Tableauのエキスパートを目指したい!**と思っています。
もし、
「もっといい書き方があるよ!」
「そこは少し違うよ!」
というポイントがあれば、ぜひ優しくコメントで教えていただけると嬉しいです。
記念すべき第1回は、Tableauを触り始めた私が
「これは絶対に最初に覚えたい!」
と感じた、超基本の計算式10個を厳選しました。
コピペしてフィールド名を変えるだけで使えるものも多いので、ぜひ私と一緒に覚えていきましょう!
1. ZN(Nullを0に変換する)
データが存在しない部分(Null)を「0」に置き換えるときに使う、実務でよく登場する関数です。
ZN([売上])[売上]がNullなら0を返し、Nullでなければ元の値をそのまま返します。
例えば、
ZN([売上]) + ZN([利益])とすれば、Nullを0として計算できます。
Nullのまま計算すると、計算式によっては結果もNullになってしまうことがあります。
そんなとき、
「Nullだったら0として扱いたい」
という場面でZNが活躍します。
2. ABS(絶対値を求める)
マイナスの値をプラスに変換し、絶対値を取得する関数です。
ABS([利益])例えば、実績と計画の差を「プラス・マイナスではなく、差の大きさ」として確認したい場合、
ABS([実績] - [計画])とします。
「計画に対してどれくらい乖離(ズレ)があったか」など、
プラス・マイナスではなく、差の大きさそのものを比較したい
ときに便利です。
3. ROUND(指定した桁数で四捨五入する)
割り算などで発生する小数を、指定した桁数で四捨五入するときに使います。
ROUND([利益率], 2)例えば、
0.1234 → 0.12
となります。
ROUND(SUM([利益]) / SUM([売上]), 2)利益率を計算したあと、小数点以下2桁に丸めることができます。
第2引数の数字を変えることで、丸める桁数を変更できます。
0 → 整数
1 → 小数点以下1桁
2 → 小数点以下2桁
なお、単純に画面上の表示桁数を変えたいだけなら、ROUNDではなく書式設定を使う方法もあります。
4. IF...THEN...ELSE...END(条件分岐)
「○○以上ならA、それ以外ならB」というように、条件によってデータを分類するときに使います。
IF SUM([売上]) >= 1000000 THEN "達成"
ELSE "未達成"
END売上が100万円以上なら「達成」、それ以外なら「未達成」と分類できます。
このような計算フィールドを作っておけば、
達成
未達成
で色分けしたり、フィルターしたりできます。
最後の
ENDを忘れないようにしましょう。
また、文字を返す場合は、
"達成"のように ダブルクォーテーション(" ") で囲みます。
5. CONTAINS(特定の文字が含まれるか判定)
商品名や住所などの文字列の中に、特定のキーワードが含まれているかを判定します。
CONTAINS([製品名], "高反発")「製品名」に「高反発」という文字が含まれていればTrue、含まれていなければFalseを返します。
例えば、
CONTAINS([製品名], "高反発")をフィルターに入れて、Trueだけを表示することができます。
結果は、
True
False
のブール値として返ってきます。
「特定のキーワードを含む商品だけ表示したい」というような場面で便利です。
6. ISNULL(Nullかどうかを判定する)
データがNullになっているかどうかを判定します。
ISNULL([顧客ID])判定結果
True → Null
False → Nullではない
となります。
例えば、
「顧客IDが入っていないレコードがどれくらいあるのか?」
を確認したいときなどに便利です。
データのチェックやデータクレンジングの場面でもよく使います。
7. DATEDIFF(2つの日付の差を求める)
2つの日付の間隔を、指定した単位で計算します。
DATEDIFF('day', [オーダー日], [出荷日])受注から出荷までにかかった日数を計算する、といった使い方ができます。
月単位で差を求めたい場合は、
DATEDIFF('month', [オーダー日], [出荷日])年単位なら、
DATEDIFF('year', [オーダー日], [出荷日])とします。
リードタイムや経過日数を計算するときに非常に便利な関数です。
ただし、DATEDIFFは単純な「経過時間」を小数まで計算する関数ではなく、指定した日付単位での日付境界の差を返す点には注意しましょう。
8. DATEADD(未来・過去の日付を求める)
基準となる日付から、指定した期間だけ日付を進めたり戻したりします。
DATEADD('month', 1, [オーダー日])オーダー日の1ヶ月後の日付を求めることができます。
過去の日付を求める場合
数値をマイナスにします。
DATEADD('month', -1, [オーダー日])これでオーダー日の1ヶ月前を取得できます。
「○日後」「○ヶ月後」「○年前」など、基準日から別の日付を作りたいときに便利です。
9. DATETRUNC(日付を指定した単位に切り捨てる)
日付を「年」「四半期」「月」「週」「日」など、指定した単位に揃えるときに使います。
DATETRUNC('quarter', [オーダー日])例えば、
2026年9月11日
という日付を四半期単位に切り捨てると、
2026年7月1日
になります。
月単位なら、
DATETRUNC('month', [オーダー日])となり、
2026年9月11日 → 2026年9月1日
となります。
「日付はバラバラだけど、月単位でまとめて比較したい」
「四半期ごとに集計したい」
といった場面で活躍します。
10. 顧客あたり売上(集計計算の基本)
「顧客1人あたり、どのくらい売上があるのか」を知りたいときに使える計算です。
SUM([売上]) / COUNTD([顧客ID])SUM([売上]) → 売上の合計
COUNTD([顧客ID]) → 重複を除いた顧客数
つまり、
売上の合計 ÷ 重複を除いた顧客数
で、顧客1人あたりの平均的な売上を求めることができます。
たとえば、売上が100万円、顧客数が200人なら、
100万円 ÷ 200人 = 5,000円
となります。
💡 計算式を入力するときのコツ
① 記号は半角で入力する
関数名や記号は基本的に半角で入力しましょう。
SUM([売上])SUM、[、]などを全角で入力すると、エラーの原因になることがあります。
② Tableauの自動補完を活用する
フィールド名をすべて手入力する必要はありません。
計算エディタで関数名やフィールド名を入力すると候補が表示されるので、できるだけ自動補完を利用するのがおすすめです。
入力ミスを減らすことができます。
③ コメントを残す
Tableauの計算式では、
// コメントのように//を使ってコメントを残すことができます。
例えば、
// 顧客1人あたりの売上
SUM([売上]) / COUNTD([顧客ID])としておけば、後から見返したときにも、
「この計算は何を求めているんだっけ?」
と迷いにくくなります。
自分用の備忘録としても、コメントを残す習慣はおすすめです。
🎯 まとめ
今回は、Tableauを始めたらまず覚えておきたい基本的な計算式を10個紹介しました。
最初は関数の名前を全部覚える必要はありません。
「この処理をしたいときは、どの関数だったかな?」
と、この記事を辞書代わりに使ってもらえたら嬉しいです。
私自身もまだまだ勉強中なので、実務で使って「これは便利だった!」という計算式をこれからどんどん追加していきたいと思います。
🗺️ 次回の予告
次回(第2回)は、
「実務の汚いデータを綺麗にする!文字列・型変換関数10選」
を予定しています。
システムから出力したデータを見て、
「数字なのに文字列になっていて計算できない!」
「姓と名を結合したい!」
「文字列から必要な部分だけ取り出したい!」
と困った経験はありませんか?
そんな実務でありがちな**「データが汚い!」問題**を解決するための関数をまとめていきます。
ぜひアカウントのフォローやスキをしていただけると励みになります!
それでは、次回も一緒にTableauを勉強していきましょう!