今回はLEFT関数について紹介したいと思う。
LEFT関数とは?
LEFT関数とは文字列関数の1つで文字列内の一番左から~番目までの文字を返してくれる関数だ。
例えば、会員番号が下記のような場合に「一番左のアルファベットを取り出してフィルターとして使用したい」という時などにLEFT関数は便利だ。
会員IDや取引先IDなどに店舗名や商品カテゴリが含まれているデータも意外と多くあり、そのIDから一部の情報を取得したいという時などにLEFT関数を利用する。
LEFT関数の使用方法
LEFT関数の使用方法は下記の通りだ。
先ほどの例の会員番号の左から1文字のアルファベットを取得したい場合の具体的な指定方法は下記だ。
注意点としてはLEFT関数で対象とできるのはデータ型が文字列フィールドのみである。
初心者がよくやってしまいがちなのがLEFT関数で対象とする[会員ID]や[オーダーID]等のフィールドのデータ型が整数型になっていてエラーになり、
「なんでエラーになるの??」
とイライラしがちだが、その場合はデータ型が文字列になっているかを確認してみてほしい(私は実際何度もやったことがある)
SPLIT関数との違いは?
LEFT関数と同じ文字列関数であるSPLIT関数の違いを整理しておきたいと思う。
「LEFT関数とSPLIT関数と何が違うの?出来ること一緒じゃない?」
と質問を受けることがよくあるのだが、違いは下記だ。
LEFT関数は対象の文字列の左から~番目までの文字を取得するので取得する文字数は指定した通りの数値となる。
一方でSPLIT関数は区切り文字(ハイフン(-)とかスラッシュ(/)など)を指定して、その区切り文字までの前(あるいは後ろ)の文字列を取得する。
そのため、区切り文字の位置に依存するため、取得する文字数は指定することができないのだ。
また明確な区切り文字がないとSPLIT関数は意図しない文字列を取得してしまう場合がある。
例えば、下記のようなデータのうち「A-10001」のデータのうち、「「A-a」の3文字までを取り出したい!」という時は区切り文字の指定が出来ないのでLEFT関数で左から2文字目までを指定するやり方でないと難しい。
上記のように明確な区切り文字がない場合はSPLIT関数は使えないのでLEFT関数が使えないかを検討してみるといいだろう。
このようにLEFT関数とSPLIT関数は出来ることが同じように見えて、使える場面が少し異なるということを覚えておいてもらいたい。
ちなみに、どちらも文字列関数のため、対象はデータ型が文字列のフィールドということは共通している。
まとめ
今回は文字列関数の1つであるLEFT関数をご紹介した。
LEFT関数はFIND関数やLEN関数と一緒に使用することが多いので、こちらの2つの関数も是非合わせて使えるようになっておくと便利だと思う。
他の文字列関数について知りたい場合は下記のTableau関数一覧の記事から確認してもらえると嬉しい。