見出し画像

正規表現を利用し、特定の文字列以降を抽出したディメンションを作成する方法[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にて特定の文字列以降のデータを抽出したディメンションを作成することに成功しました。めでたしめでたし。

この記事が気に入ったらサポートをしてみませんか?