文字列と数値が混在したセルで数値だけをTableauデータソースの操作から削除する方法
どんな状況でしょうか?
このようなフィールドがあるとします。「岡山1」や「大阪14」など、[文字列+数値]という規則性があると思いきや、「単独」という、それに類さないデータも混ざっています。
計算フィールドを開く
対象の列を右クリック→「計算フィールドの作成」の順に進みます
次の数式を入力します
REGEXP_REPLACE([フィールド名]+'1',REGEXP_EXTRACT([フィールド名]+'1', '.+?(\d+)'),'')
結果
数式の意味(興味のある方向け)
2つの関数と正規表現を使用しています。
1.REGEXP_EXTRACT(string, pattern)
公式リファレンスでは、「正規表現のパターンと一致する文字列の一部を返します」と説明があります。第1引数のstringには対象の文字列、第2引数のpatternには正規表現のパターンを入力してください。
2.REGEXP_REPLACE(string, pattern, replacement)
公式リファレンスでは、「正規表現のパターンが置換文字列に置き換えられている特定の文字列のコピーを返します」と説明があります。第1引数のstringには対象の文字列、第2引数のpatternには正規表現のパターン、第3引数のreplacementには置換文字列を入力してください。
今回は数値を削除したいので、第3引数はブランク('')でOKです。
3.正規表現
. 任意の1文字にヒットします。
+? 直前の文字が 1回以上 繰り返す場合にヒットします。
\d すべての半角数字です。
+ 直前のパターンを1回以上繰り返します。
4.その他
数式内で「+'1'」を行っているのは、セル「単独」に数値が含まれていないと、nullを返してしまうからです。
参考
今日はここまで。お読みいただき、ありがとうございました!