Tableauの関数を全て試してみる〜文字列関数編その3〜 #tableau
はじめに
こんにちは。DI部のtamaです。
当エントリはTableau Functions Advent Calendar 2017の7日目のエントリです。 昨日のエントリはTableauの関数を全て試してみる〜文字列関数編その2〜でした。
まだ引き続き、文字列関数について見ていきます。 ※1エントリで扱う関数の配分を完全にミスったため、今日と明日の内容が少なめです…。
- 使用するTableauのバージョンは一貫して10.4.1です。
- 各関数の説明で引用しているのは、Tableauの公式リファレンスからの引用です。
- TableauHelp 関数
目次
検証環境
作業環境
- MacOS High Sierra 10.13.1
- Tableau 10.4.1
使用データ
- (原則)Tableau付属のサンプルスーパーストア
- (場合によって)関数グラフ描画用データ
- -1〜1の範囲で、0.01毎に値が並んでいるデータ
- 上記の値をディメンション「X軸」とし、その上に色々な関数をプロットする。
- 参考:Tableau 関数グラフの描画 | Developers.IO
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 はトークン数に対応するトークンを返します。トークン数が正の場合、トークンは文字列の左端からカウントされます。トークン数が負の場合、トークンは文字列の右からカウントされます。
- ある文字列を、指定した区切り文字で分割し、分割した文字列のうち、任意の物を取得できる関数です。
- 接続しているデータソースによって、分割数に制限があったり、「何番目の文字列を取得するか」の指定(トークン数)に負の数が使用できなかったり、制約が色々あります。
- 詳細はTableau_文字列関数を参照してください。
使ってみた
オーダーIDに対して使用してみます。 ハイフンでオーダーIDを分割し、2014を取り出します。
SPLIT([オーダー Id], "-", 2)
どういう時に使う?
- 基本的に、MID関数と似たような用途になりそうです。
- 一定のルールに基づいたデータ(通し番号系、ID系等)に対しての処理
- 何らかの区切り文字毎(ハイフンとかスラッシュ等)に種別が分かるような振り方をされているようなIDのデータに対して、その部分だけ抜き出してフィルタに使用する…といった利用方法が考えられます。
- MID関数は、文字数が決まってないと使いづらいですが、こちらは区切り文字さえあれば、文字数を意識することなく使用することができます。
参考文献
おわりに
冒頭でも言いましたが、1エントリで紹介する関数の配分をミスったため、非常に内容がアッサリしてしまいました…。次回もたぶんアッサリ気味になりそうです… 次回はtamaによるTableauの関数を全て試してみる〜文字列関数編その4です。 早いもので、文字列も最終章突入です。