ブログ

Tableauの論理関数とは?概要と主な論理関数の使い方を分かりやすく解説

#Tableau #論理関数

積極採用中
セミナー情報

データを正確に分類し、複雑な条件に基づいた計算をすることは、ビジネスの深い洞察を得るために不可欠です。その強力なサポート手段となるのが、Tableauでも簡単に使える「論理関数」です。
論理関数は条件に応じて異なる値を返す関数で、ExcelやSQLにも存在しますが、Tableau特有の書き方やルールがあります。

この記事では、Tableauの論理関数について、その基礎概念から実務的な使い方、さらには注意点までを初心者にも分かりやすく解説します。

これらの知識を身につけることで、より精密で効率的なデータ分析が実現でき、ビジネスの意思決定に必要なインサイトを得られるようになるでしょう。
Tableauでのスキル向上をめざす方にとって、このガイドが有用な学習リソースとなれば幸いです。

【概要】Tableauの論理関数とは?


Tableauの論理関数とは、データに対して条件を指定し、その条件が正しいか間違っているかを判断してから異なる結果を返す関数です。特定の値や条件に基づいて新しい分類や計算結果を作成する際に欠かせません。
例えば、売上が1,000万円を超えているかどうかを判断して「目標達成」と「目標未達」に振り分けたり、商品のカテゴリーによって地域を分けたりする場面で活躍します。
これらは新しい計算フィールドを作成する際に論理関数を組み合わせることで実現可能です。

また、Tableauで論理関数を使用する際は、処理速度にも注意を払う必要があります。
同じ結果を出すのであれば処理速度の速い手法を選ぶことが大切なため、可能な限りシンプルな条件式の作成を心がけましょう。

Tableauでよく使う論理関数の具体的な使い方


データを分類したり条件に応じた計算をしたりするうえで、論理関数は欠かせません。
Tableauには複数の論理関数がありますが、それぞれ異なる特徴を持っています。

ここでは、Tableauに付属している「サンプルスーパーストア」を使用して、実務でよく利用される4つの論理関数の概要や具体的な使い方をご紹介していきます。

あらかじめ、Tableauにサンプルスーパーストアの「オーダー(注文)」シートを接続しておきましょう。

 Tableauにデータを接続する方法がわからないという方は、以下の記事を参考にしてみてください。
    ◆Tableauにおけるデータ接続と加工方法を手順付きで解説

IF関数、IIF関数

★IF関数の書き方:IF THEN ELSEIF THEN … ELSE END
★IIF関数の書き方:IIF(,,)

IF関数は、複数の条件分岐を設定する際に活躍する万能な論理関数です。

式の途中で、「そうではなくて、もし〜だったら」というELSEIF関数を続けることで、3つ以上の条件分岐を作成できます。

一方で条件を2択で判定する場合は、より簡潔に書ける「IIF関数」を使うこともできます。

TableauのIIF関数は、ExcelやスプレッドシートでのIF関数と書き方が似ており、馴染みのある人も多いでしょう。

IF関数の使用例として、地域別の利益が100万円以上の場合は「Aランク」、50万未満の場合は「Cランク」、その間は「Bランク」に分類したい場合は、IF関数を使って下記の計算フィールドを新しく作成しましょう。


```
★利益判定
IF SUM([利益]) >= 1000000 THEN 'Aランク'
ELSEIF SUM([利益]) 

このフィールドをビューに追加することで、年別に各地域がどのランクだったかを視覚的に確認できます。(下図)

CASE関数

★CASE関数の書き方:CASE WHEN THEN …END

CASE関数は、1つのフィールドに対して複数の値を対応させたい場合に最適な関数です。
IF関数より読みやすく、複数の項目をラベリングする際に便利です。

例えば、[出荷日]データを使って出荷年ごとのラベルを付けたい場合は、CASE関数を使って下記の計算フィールドを新しく作成しましょう。


```
★出荷年ラベル
CASE YEAR([出荷日])
WHEN 2021 THEN '2021年出荷'
WHEN 2022 THEN '2022年出荷'
WHEN 2023 THEN '2023年出荷'
WHEN 2024 THEN '2024年出荷'
WHEN 2025 THEN '2025年出荷'
ELSE 'それ以外'
END
```

このフィールドをビューに追加することで、出荷年別に各カテゴリの売上高を比較することができます。(下図)

IS NULL関数


★IS NULL関数の書き方:IS NULL(式)

IS NULL関数は、あるフィールドに値が入っているかどうかを判定する関数です。

データに欠損値があるかを確認したい場合や、IF文で「NULLの場合はA、そうでない場合はB」という条件分岐をしたい場合にも使用できます。

例えば、データが欠損している(=数量がNULLになっている)注文を見つけたい場合、IS NULL関数を使って下記の計算フィールドを新しく作成しましょう。


```
★データ欠損判定
IS NULL([数量])
```

このフィールドをビューに追加することで、データが欠損している注文データを確認できるようになります。(下図)

IF NULL関数

★IF NULL関数の書き方:IF NULL(式1,式2)

IF NULL関数は、NULL値が検出された場合に別の値に置き換える関数です。

欠損データを一括処理する際に便利で、データの完全性を保つために重要な役割を果たします。

例えば、データが欠損している注文の売上を「0」に置換したい場合、IF NULL関数を使って下記の計算フィールドを新しく作成しましょう。


```
★売上_NULLを0に置換
IF NULL([売上],0)
```


このフィールドをビューに追加することで、売上がNULLとなっている注文データを「0」に置換できます。(下図)

Tableauで論理関数を使う際の注意点

論理関数は非常に便利な機能ですが、使い方を誤るとエラーが発生したり、ダッシュボードのパフォーマンス低下につながったりする可能性があります。

ここでは、実務で最も陥りやすい3つの注意点をご紹介します。

正しい理解と対策により、より効率的で堅牢な計算フィールドを作成できるようになるでしょう。

①複雑な条件式では演算子の優先順位を明示する

Tableauの論理演算子は評価される順序が決まっており、括弧を使わずに複数の条件を組み合わせるとエラーが発生することがあります。

評価順序は「かっこ > NOT > AND > OR」という優先順位です。

複数の論理演算子を組み合わせる場合、括弧を明示的に付けることが重要です。

例えば「A AND B OR C」と記述した場合、意図しない結果が得られることがあります。

括弧を使って「(A AND B) OR C」または「A AND (B OR C)」とすることで、確実に条件が正しく評価されます。

②論理関数と集計関数を混在させないように注意する

Tableauでは同一の計算フィールド内に「集計」と「非集計」を混在させることができません。

集計関数(SUM、AVG、MAX、MINなど)を使った計算と、集計しないフィールドを一緒に使うと、「この関数の集計および非集計の引数を混在させることはできません。」というエラーが発生します。

この制限がある理由は、計算の粒度(きめの細かさ)が異なるためです。

集計は複数のレコードを1つにまとめた値であり、非集計は個別のレコードの値です。

1行1行で計算するのか、全体をまとめて計算するのかが混在すると、Tableauは判断できなくなるのです。

③条件分岐を多用すると処理が重くなる可能性がある

ネストされた条件式(条件の中に条件が入る構造)や、複数のELSEIFを使った複雑な条件式は、ダッシュボードの処理速度を低下させる可能性があります。

特に大規模なデータセットを扱う場合、複雑な条件分岐の計算負荷は顕著に表れます。

Tableauのパフォーマンス設計では、例えばCASE関数のほうがIF文を複数使うよりも高速です。

また、計算フィールドを何度も参照する場合も処理が重くなるため、注意が必要です。

まとめ

この記事を通して、Tableauの論理関数について、その概要から実践的な使い方、そして注意点まで詳しく解説しました。

論理関数は、データに対して条件を指定し、真か偽かを判定したうえで、異なる結果を返す機能です。

本記事では、4つの主要な論理関数の使い分けから、演算子の優先順位や集計関数との混在を避けるといった実務で陥りやすい落とし穴まで、Tableau初心者にも分かりやすく解説しました。

Tableauでのデータ分析を深める第一歩として、これらの論理関数をしっかり習得することで、より詳細で精度の高い分析が可能になります。

ビジネスにおけるデータドリブンな意思決定を推進する方々にとって、この記事が有用な学習リソースとなれば幸いです。

<Tableau>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

また、弊社ではTableauの導入支援のサポートも行っています。こちらもぜひお気軽にお問い合わせください。
>>Tableauについての詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ