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

2017.12.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

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

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

今回も引き続き、文字列関数について見ていきます。 ※MAXとMINについては、数値関数エントリで紹介しているため、本エントリでは扱いません。

  • 使用する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

LOWER

概要

string のすべての文字を小文字に返します。

  • 概要そのままの関数ですね。

使ってみた

オーダーIDに大文字が入ってるので、試してみます。

LOWER([オーダー Id])

JPの部分が小文字になっています。 数値はそのままです。(当然ですが、無視されます)

どういう時に使う?

  • データを突き合わせたりする時、内容は同じでも大文字小文字が違うパターン…という時
  • 片方は先頭大文字、もう片方は全部小文字…など
  • 大文字小文字が混在しているデータのクリーニング

参考文献

LTRIM

概要

先頭の空白を削除した文字列を返します。

  • 最初に入っているスペースを取り除きます。

使ってみた

サンプルデータストアはかなり綺麗なデータとなっており、先頭に空白が入っているような項目はないので、 適当に作った、先頭に空白ありファイルを使用します。

空白を除去したいと思います。

LTRIM([市町村])

どういう時に使う?

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

参考文献

MID(string, start, [length])

概要

インデックス位置 start で始まる文字列を返します。文字列の最初の文字の位置は 1 です。オプションの引数 length を追加した場合、返される文字列には、その引数に相当する数の文字だけが含まれます。

  • 指定した場所から始まる文字列を返す関数です。
  • 何文字返すかも指定できます。

使ってみた

オーダーIDの西暦の部分だけ抜き出してみます。

MID([オーダー Id],4,4)

どういう時に使う?

  • 一定のルールに基づいたデータ(通し番号系、ID系等)に対しての処理
  • 「○桁目が○○の場合は、○○という種別」といったIDのデータに対して、その部分だけ抜き出してフィルタに使用する…といった利用方法が考えられます。
  • 住所が一つのカラムに全部入っていて、部分的に参照したい場合にも有効ですね。
  • 文字数等、別の関数で調整する必要はありますが…

参考文献

REPLACE(string, substring, replacement)

概要

string で substring を検索し、それを replacement で置き換えます。substring が見つからない場合、string は変更されません。

  • ある文字列を、指定の文字列で置換できる関数です。

使ってみた

オーダーIDのJPをUSに変えてみましょう。

REPLACE([オーダー Id],"JP","US")

どういう時に使う?

  • 文字列データのクリーニングなど
  • 他の関数との組み合わせでも、お役立ちな関数と思われます。
  • IF文等で条件に合致したものだけ、置換するなど…

参考文献

RIGHT(string, number)

概要

string 内の一番右から n 文字分を返します (n は引数で指定された数)。

  • LEFT関数の逆です

使ってみた

オーダーIDの右側の数値部分を抜き出します。

RIGHT([オーダー Id],7)

どういう時に使う?

  • 一定のルールに基づいたデータ(通し番号系、ID系等)に対しての処理
  • 「末尾何桁が○○のIDは、☓☓というカテゴリ」というルールを施しているデータは結構ありがちです。

参考文献

おわりに

今回も文字列関数をみてきました。全体的に、整理されていないデータをサクッと調整することに長けたものが多いと思います。データの前処理はTableauから接続する前に済ませておくのが理想ですが、のっぴきならない事情で、Tableau上で何とか調整しなければならない場面もあるかと思います。そんな時に力を発揮してくれそうです。

次回はtamaによる「文字列関数編その3」です。お楽しみに。