Tableauの関数を全て試してみる〜文字列関数編その3〜 #tableau

はじめに

こんにちは。DI部のtamaです。

当エントリはTableau Functions Advent Calendar 2017の7日目のエントリです。
昨日のエントリはTableauの関数を全て試してみる〜文字列関数編その2〜でした。

まだ引き続き、文字列関数について見ていきます。
※1エントリで扱う関数の配分を完全にミスったため、今日と明日の内容が少なめです…。

  • 使用するTableauのバージョンは一貫して10.4.1です。
  • 各関数の説明で引用しているのは、Tableauの公式リファレンスからの引用です。

 

検証環境

作業環境

  • MacOS High Sierra 10.13.1
  • Tableau 10.4.1

使用データ

  • (原則)Tableau付属のサンプルスーパーストア
  • (場合によって)関数グラフ描画用データ

 

RTRIM(string)

概要

末尾の空白を削除した string を返します。

  • LTRIMの逆ですね。

使ってみた

文字列の末尾にある空白を消す…ということですが、結果が非常にわかりづらいです。
ということで、無理やりスペースを入れてみます。
※SPACE関数は下記で紹介していますが、空白を作成する関数です。
※計算フィールドで、項目を+で繋ぐと結合項目を作ることが出来ます。

LEN関数で文字の長さを確認してみます。

空白を確認できました。

ついにRTRIMを使用します。

LEN関数で文字の長さを確認すると、削れてることがわかりますね。

どういう時に使う?

  • 文字列データのクリーニングなど
    • 変な空白が入ってしまっているデータに出会う確率は、意外と高いです。

参考文献

 

SPACE(number)

概要

指定された文字 number 分の空白で構成された文字列を返します。

  • 引数に指定した分、スペースを挿入します。

使ってみた

とりあえずSPACEを10個投入してみます。

SPACE(10)

SPACEが出来ているかどうかチェックするために、オーダーIDを2つ並べて、その間にSPACE関数を挿入します。

ちゃんとスペースが出来ていますね。

どういう時に使う?

  • ビュー作成の仕上げに、項目の表示名を整形するとき
    • 人の名前(姓と名)
    • 住所
    • …など

参考文献

 

SPLIT(string, delimiter, token number)

概要

指定した文字列を基に、区切り文字を使用して連続したトークンに文字列を分割したサブストリングを返します。 文字列は区切り文字とトークンが交互に連続する文字列として解釈されます。そのため、文字列がabc-defgh-i-jklで区切り文字が「-」の場合、「abc」「defgh」「i」「jlk」がトークンとなります。これらをトークン 1 からトークン 4 と考えます。SPLIT はトークン数に対応するトークンを返します。トークン数が正の場合、トークンは文字列の左端からカウントされます。トークン数が負の場合、トークンは文字列の右からカウントされます。

  • ある文字列を、指定した区切り文字で分割し、分割した文字列のうち、任意の物を取得できる関数です。
  • 接続しているデータソースによって、分割数に制限があったり、「何番目の文字列を取得するか」の指定(トークン数)に負の数が使用できなかったり、制約が色々あります。

使ってみた

オーダーIDに対して使用してみます。
ハイフンでオーダーIDを分割し、2014を取り出します。

SPLIT([オーダー Id], "-", 2)

どういう時に使う?

  • 基本的に、MID関数と似たような用途になりそうです。
  • 一定のルールに基づいたデータ(通し番号系、ID系等)に対しての処理
    • 何らかの区切り文字毎(ハイフンとかスラッシュ等)に種別が分かるような振り方をされているようなIDのデータに対して、その部分だけ抜き出してフィルタに使用する…といった利用方法が考えられます。
    • MID関数は、文字数が決まってないと使いづらいですが、こちらは区切り文字さえあれば、文字数を意識することなく使用することができます。

参考文献

おわりに

冒頭でも言いましたが、1エントリで紹介する関数の配分をミスったため、非常に内容がアッサリしてしまいました…。次回もたぶんアッサリ気味になりそうです…
次回はtamaによるTableauの関数を全て試してみる〜文字列関数編その4です。
早いもので、文字列も最終章突入です。