Tableau PrepのREPLACE関数で数字は大文字小文字が区別されないようです。
こちらは個人的には驚きでしたので、サンプルで試しながらお見せしたいと思います。
また回避策もありましたのでそちらもご紹介したいと思います!
サンプルデータ
Name列(文字列型)に半角数字と全角数字のデータが入っています。
数字をREPLACE関数で置き換える
これをREPLACEで、"1"(=半角数字)を"★"に置き換えてみます。
期待値は、半角数字のデータのみ置き換わることです。
なんと両方変わってしまいました・・・!
逆("1"(=全角数字)を"★"に置き換え)もやってみたのですが、同じく両方置き換わってしまいました。
どうやら半角数字と全角数字は区別しないようです。
回避策
REGEXP_REPLACEを使うと半角数字・全角数字が区別されました。
Tableau Prepでデータの加工処理をしていた時、大量のデータの中から1件だけ期待通りに結果が出力されないということがあり、原因が今回紹介したREPLACEの件だったということがありました。
半角・全角数字は区別されるものだと思い込んでいたので、結構調査に時間を取られてしまいました。
REGEXP_REPLACEにしてみたらうまくいったので、そちらで対処したという感じです。
REPLACEで半角・全角数字は区別しないのは、なぜなのでしょうか・・・。
個人的には半角と全角は全然別物なので、区別してほしいなと思いました。