IF文を使いこなす~①基本的な使い方~

IF文を使いこなす~①基本的な使い方~ | Tableau-id Press -タブロイド-
tableau_logo

はじめに

今回はTableauの『If』関数について、基本的な使い方から応用まで、3回に分けて徹底解説していきます。
第1回のテーマは『はじめての Tableau If 』。基本的な使い方について解説していきます。

目次

  1. 基本的な使い方
  2. 特殊な条件設定 (複数条件、文字列)

1.基本的な使い方

【課題 ~ IF文を使って、月を上期 ・下期に分けたい~】
このケースは1~6月を上期、7~12月を下期と分けて表示したい時です。
データの粒度を設定する時には、IF関数はとても便利です。

【解答】
こちらはIF関数を使った場合の式です。
IF [MONTH]<=6 THEN “上
期”
ELSE “下期”
END

解説
If関数は以下のような構文で作られます。

IF (条件) THEN (条件に合致した時に返す値)
ELSE (条件に合致しなかった時に返す値)
END 

この場合は、MONTHの値がが1~6の場合は”上期”・それ以外の場合は”下期”と定義しました。

【結果】
IF文で計算フィールドを作ることで、データの粒度を上期・下期に二分したフィールドを持つことができました。

【詳細な理解のために】
シート上での動きは、イメージがつきましたでしょうか?
ではTableauはこの関数によって、具体的にどのような動作をしたのでしょうか。

答えは、データソースの中で、新たに列を追加しています。

If文を書くことで、Tableauは条件に適合した列を追加し、粒度の違う値を持たせています。
このように、Tableauは、シート上での動きと、データソースの変化を相互的に見ると理解がしやすいかと思います。

2.特殊な条件設定 (複数条件、文字列、日付型)

・if 複数条件


上記の例は、条件に当てはまるか否かの2通りに分ける式を書きました。
では、もっと多くの場合分けをする時はどうなるのでしょうか。

【課題 ~ IF文を使って、月を四半期に分けたい~】
この場合は、1~3月を1Q、4~6月を2Q、7~9月を3Q、10~12月を4Qと定義します。
分岐も複数あり、”○月より前、かつ、〇月より後”というように、複数の条件を定義する必要がありそうですね。

【解答】
こちらはIF関数を使った場合の式です。
IF [MONTH]<=3 THEN “1Q”
ELSEIF [MONTH]>=4 AND [MONTH]<=6 THEN “2Q”
ELSEIF [MONTH]>=7 AND [MONTH]<=9 THEN “3Q”
ELSE “4Q”
END

解説
①複数条件がある時は以下のような構文で作られます。
IF          (条件1)     THEN (条件1に合致した時に返す値)
ELSEIF (条件2)     THEN (条件2に合致した時に返す値)
ELSEIF (条件3…)  THEN (条件3…に合致した時に返す値)
ELSE    (いずれの条件にも合致しない場合に返す値)
END 

②他の論理関数との併用。
AND = 且つ / OR = または 
上記2つは、条件設定の際に非常に便利です。

【結果】
IF文で計算フィールドを作ることで、データの粒度を四半期に分けたフィールドを持つことができました。


【詳細な理解のために】
今回もデータソースの変化と併せて確認していきましょう。
更にもう一列が追加されて、条件通りの値を示していますね。

・if 文字列

ここまで理解できれば、If文の理解はほとんどばっちりです!
こちらは捕捉となりますが、特にIf文を書く時に困るというお声が多いのが、文字列型や日付型のデータの扱い方です。
これはIf文に限らずTableauの使用上のルールになります。

【例 ~文字列だけで条件式を書く~】

IF [Segment]=Consumer THEN Private
ELSE Public
END

【結果】
こちらもIf文の条件に沿った粒度での列が追加されました。

【解説】
Tableauでは文字列を扱う時、必ず ” ” (ダブルクォーテーション) で囲わないといけません。
分かっていても忘れがちなポイントなので、つい見落としてエラーに悩まされてしまうことも…。



次回は、ExcelのIF関数には無い概念、『IF文を集計する』、『IFで0やNullを対処する』を解説していきます。