Tableauの正規表現でカンマ区切り文字列から先頭1文字ずつ取得する

Tableauの正規表現でカンマ区切り文字列から先頭1文字ずつ取得する | Tableau-id Press -タブロイド-
tableau-logo-1200x630-960x504

正規表現でカンマ区切りの各単語から先頭1文字ずつ取得

弊社truestarにはMicrosoft Teamsを利用して誰もが使える疑問解決のための質問箱
通称「駆け込み寺」があります。

今回はその中でTableauでつかえる正規表現に関する質問を1つ紹介します


Q:「あいうえお,かきくけこ,さしすせそ」とカンマ区切りで単語がつながっている列があり、各単語の頭文字を取って「あ,か,さ」としたいのですが、tableauの正規表現で実現できるのでしょうか?

A:正規表現では以下のように書くと実現できます
正規表現の意味としては「”単語の境界でない部分(\B)とそれに続く任意の文字(.)を空白(“”)に置換」です

REGEXP_REPLACE('あいうえお,かきくけこ,さしすせそ','\B.',"")

式の解説

REGEXP_REPLACE('あいう,かきく,さしすせそ','\B','')

この正規表現の肝はメタ文字(プログラムに特別な意味を持たせた文字)の1つ「\B」です
\Bは「現在の位置が単語の境界でない場合にマッチする」という少々聞きなれない役割をします

「単語の先頭1文字だけを取得したい」という時に、その逆である単語の先頭ではない部分を探し、マッチしたものを消してしまうことで各単語の先頭1文字だけを残すという方法です。

正規表現はわかりづらいことも多いですが、知識として少しでも知っているといろいろ便利ですね!