正規表現を利用し、特定の文字列以降を抽出したディメンションを作成する方法[tableau]
今回の記事は、備忘録として私自身がtableauの設定に少し困った部分をメモします。
①前提、やりたいこと、結論
使用ツール:
tableau(タブロー)
やりたいこと:
「LP1_SEO」や「LP2_AD」などのデータが入っているカラムから、「SEO」や「AD」のみのデータが入ったカラムを作成したい。
つまり、特定の文字列以降のデータを抽出したい。
今回の例では、"_"(アンダーバー)を含んだ前の文字列を削除できると良い。
結論:
tableauの計算フィールドにて、以下の関数を入れることで実現可能。
REGEXP_EXTRACT_NTH([列1],'(?<=_).*',0)
詳細は以下に説明します。
②利用する関数、正規表現
ここで利用するのは
tableauの関数:REGEXP_EXTRACT_NTH(string, pattern, index)
と
正規表現:肯定後読み
です。
③REGEXP_EXTRACT_NTH関数
REGEXP_EXTRACT_NTH(string, pattern, index)の関数は、正規表現のパターンと一致する文字列の一部を返すはたらきをします。
「string」部分に列名を入れ、(今回の場合は「列1」)
「pattern」部分に正規表現を入れ、(後ほど今回入れる正規表現について説明)
index部分に0を入れると、(0は文字列全体を返す。)
「string」で指定した「列1」から、「pattern」で指定した「正規表現」に該当する文字列全体を抽出することができます。
※以下参照
④正規表現肯定後読み
肯定後読みの正規表現は、以下のように記述します。
(?<=パターン)
肯定後読みの中で指定したパターンにマッチするする部分から後を抽出することができます。
つまり、(?<=_)と記載すると、"_"以降の文字列を指定することができ、
(?<=_).* と指定することで、"_"以降の任意の文字列を抽出することができます。
※ 「.*」は任意の文字列を意味する正規表現。
以上より、tableauにて特定の文字列以降のデータを抽出したディメンションを作成することに成功しました。めでたしめでたし。
この記事が気に入ったらサポートをしてみませんか?