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

2017.12.08

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

はじめに

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

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

まだ引き続き、文字列関数について見ていきます。 ※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

STARTSWITH(string, substring)

概要

string が substring で始まる場合は、true を返します。行頭の空白は無視されます。

  • 引数に指定した文字列に対して、前方一致で検索することができる関数になります。
  • ENDSWITH関数の逆になります。

使ってみた

「丸」から始まる顧客名を出してみましょう。

STARTSWITH([顧客名],"丸")

どういう時に使う?

  • 一定のルールに基づいたデータ(通し番号系、ID系等)に対しての処理
  • 「末尾が○○のIDは、☓☓というカテゴリ」というルールを施しているデータは、たまに見かけます。

参考文献

TRIM(string)

概要

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

  • LTIRMとRTRIMを同時に行うような関数です。

使ってみた

RTRIMの時と同様、末尾の空白が除去できたかどうか判別しずらいので、 文字列に対して、先頭に空白を入れる&末尾に無理やりスペースを入れます。

LEN関数で文字数を確認します。

TRIM関数を投入します。

TRIM関数で空白を削った文字列を、LEN関数で確認します。 削れてますね。

どういう時に使う?

  • 文字列データのクリーニングなど
  • 変な空白が入ってしまっているデータに出会う確率は、意外と高いです。
  • とりあえず空白を除去しておきたい場合、LTRIMやRTRIMではなく、こちらを使用しておく方が楽だと思います。

参考文献

UPPER(string)

概要

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

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

使ってみた

メーカー名を全部大文字にしましょう。

UPPER([メーカー])

どういう時に使う?

  • データを突き合わせたりする時、内容は同じでも大文字小文字が違うパターン…という時
  • 片方は先頭大文字、もう片方は全部大文字…など
  • 大文字小文字が混在しているデータのクリーニング
  • とはいえ、クリーニング目的ならLOWER関数で小文字にする方が自然かもしれません…。
  • 作成するビューの要件的に、何らかの値を全て大文字にする必要が出てきた時。

参考文献

おわりに

今回で文字列関数編は終わりとなります。文字列関数は、いざデータを接続した際に、初めてデータの値が分析するにあたって不都合だと気づいた時の応急措置的な形で使用できるのがよいですね。(もちろんそれ以外にも、使い道はありますが。) 昨日と今日のエントリはちょっと関数が少なめとなりましたが、次回よりバランスがよくなる予定です。

次回はtamaによるTableauの関数を全て試してみる〜日付関数編その1です。お楽しみに。