Tableau Prep Builder(タブロープレップ)でIF文を用いて新規フィールドを作成する方法について紹介します。複数条件設定や入れ子(ネスト)の方法についても紹介しています。
IF文の使い方
IF文による条件分岐は下記のように記述します。Tableauでは関数式は小文字でも大文字でも認識されるのでどちらで入力してもOKです。
IF 条件式 THEN 条件が真の処理 ELSE 条件が偽の処理 END
IF文の使用手順
使用方法の例として下記の条件を設定する手順を紹介します。
条件:数値が100以上のときは”OK”、100未満のときは”NG”とする。
クリーニングステップで「・・・」→「計算フィールドの作成」を選択する。
※そのほかのステップ内でも計算フィールドは作成可能です。処理した箇所がわかりやすいようにクリーニングステップ内で処理をするようにしています。
下記の条件式を入力して保存をクリックする。
式の意味は[数値]が100以上ならば”OK”として、それ以外ならば”NG”とするといったものです。
IF [数値] >= 100 THEN "OK"
ELSE "NG"
END
以上で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関数とは()内の値がNULLならば「TRUE」(真)となり、NULL以外ならば「FALSE」(偽)となる関数です。
【出力例】
- ISNULL(NULL) = TRUE
- ISNULL(NULL以外) = FALSE
この関数とIF文を組み合わせるで「値がNULL」といった条件式を作成します。
IF ISNULL([列名]) THEN [NULLの場合の処理] TEHN [NULL以外の処理] END
IF NOT NULLの条件式
次に「NULLではない」という条件を表現する場合についてです。
その場合は上記のISNULL関数にNOTをつけることで「値がNULLではない」といった条件を表現できます。
IF NOT ISNULL([列名]) THEN [NULLではない場合の処理] TEHN [NULLの処理] END
Sponsored link
まとめ
今回はTableau Prep(タブロープレップ)でIF文を用いて条件分岐のフィールドの作成方法について紹介しました。そのほかにもデータを加工したりクリーニングする方法をこちらの記事で紹介していますので参考にしてみてください。
Tableau(タブロー)の学習本についてはコチラの記事でまとめてますので参考にしてみてください。
Tableau prep おすすめ学習書
コメント