Tableau prep IF文で計算フィールドを作成|複数条件と入れ子

Tableau Prep Builder(タブロープレップ)でIF文を用いて新規フィールドを作成する方法について紹介します。複数条件設定や入れ子(ネスト)の方法についても紹介しています。

目次

IF文の使い方

IF文による条件分岐は下記のように記述します。Tableauでは関数式は小文字でも大文字でも認識されるのでどちらで入力してもOKです。

IF 条件式 THEN 条件が真の処理 ELSE 条件が偽の処理 END

IF文の使用手順

使用方法の例として下記の条件を設定する手順を紹介します。

条件:数値が100以上のときは”OK”、100未満のときは”NG”とする。

STEP
IF文の計算フィールドの追加

クリーニングステップで「・・・」→「計算フィールドの作成」を選択する。
※そのほかのステップ内でも計算フィールドは作成可能です。処理した箇所がわかりやすいようにクリーニングステップ内で処理をするようにしています。

STEP
IF文の作成

下記の条件式を入力して保存をクリックする。
式の意味は[数値]が100以上ならば”OK”として、それ以外ならば”NG”とするといったものです。

IF [数値] >= 100 THEN "OK"
ELSE "NG"
END
STEP
条件分岐による判定フィールドの作成完了

以上でIF文による条件分岐フィールドの作成は完了です。100以上がOK、100未満がNGとなっています。

複数条件の設定(AND, OR)

IF文の条件文は「AND」と「OR」を使用することで複数条件を設定することができます。細かい設定ができます。下記のように記載することで複数条件を設定します。

  • AND:条件1と条件2の両方が真の場合、真となる
  • OR:条件1か条件2のどちらかが真の場合、真となる
IF [条件式1] AND [条件式2] THEN [条件1と条件2が真の処理] ELSE [偽の処理] END 
IF [条件式1] OR [条件式2] THEN [条件1か条件2が真の処理] ELSE [偽の処理] END 

IF文の入れ子・ネスト

IF文の中にさらにIF文を入れて複数回の条件分岐を行うことも可能です。
下記のようにIF~THENのあとにIF文をさらに記載することで条件分岐を増やすことができます。ここでは条件3までしか記載していませんがさらに追加することも可能です。

IF [条件式1] THEN 
 IF [条件式2] THEN 
    IF [条件式3] THEN [条件1、条件2、条件3のすべてが真の処理]
    ELSE [条件1と条件2が真、条件3が偽の処理] END
 ELSE [条件1が真、条件2が偽の処理] END
ELSE [条件1が偽の処理] END

イメージとしては下図のようになります。

また、下記のようにIF~THEN~ELSEのあとにIF文を追加することも可能です。ELSEIFを増やしていくことで条件式がFALSE(偽)だったときの条件を増やしていくことができます。イメージとしては下図のようになります。

IF [条件式1] THEN [条件1が真の処理]
ELSEIF [条件式2] THEN [条件2が真の処理]
ELSEIF [条件式3] THEN [条件3が真の処理]
ELSE [すべての条件が偽の処理]
END

比較演算子

IF文の条件式の中で等しい・等しくない・以上・以下など様々な比較演算子を利用すると思います。ざっと下記にまとめてますので参考にしてみてください。

比較演算子意味
== または =等しい
!= または <>等しくない
>より大きい
<未満
>=以上
<=以下

Sponsored link

IF NULL / IF NOT NULLの条件式(ISNULL関数)

IF文の条件式で「値がNULL」または「値がNULLではない」という条件を表現する場合もあると思います。その書き方を紹介します。

IF NULLの条件式

まずは「値がNULL」という条件式についてです。これにはISNULL関数を使用します。

ISNULL関数とは?

ISNULL関数とは()内の値がNULLならば「TRUE」(真)となり、NULL以外ならば「FALSE」(偽)となる関数です。

【出力例】

  • ISNULL(NULL) = TRUE
  • ISNULL(NULL以外) = FALSE

この関数とIF文を組み合わせるで「値がNULL」といった条件式を作成します。

IF ISNULL([列名]) THEN [NULLの場合の処理] TEHN [NULL以外の処理] END

[列名] = NULLといった条件式は正しく動作しないため注意!

IF NOT NULLの条件式

次に「NULLではない」という条件を表現する場合についてです。
その場合は上記のISNULL関数にNOTをつけることで「値がNULLではない」といった条件を表現できます。

IF NOT ISNULL([列名]) THEN [NULLではない場合の処理] TEHN [NULLの処理] END

[列名] =! NULLといった条件式は正しく動作しないため注意!

Sponsored link

まとめ

今回はTableau Prep(タブロープレップ)でIF文を用いて条件分岐のフィールドの作成方法について紹介しました。そのほかにもデータを加工したりクリーニングする方法をこちらの記事で紹介していますので参考にしてみてください。

Tableau Prepのおすすめ書籍

Tableau(タブロー)の学習本についてはコチラの記事でまとめてますので参考にしてみてください。

Tableau prep おすすめ学習書

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仕事、お金、旅行のことなどメモしてます。
仕事ではTableauを勉強中!
初心者にもわかりやすいように学んだことを発信していきます。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次