はじめに
Tableauで長いテキストを折り返して表示する場合、基本的には「ラップ」機能を使用します。
しかし、テキストの内容によっては意図した表示にならない場合があります。(日本語の場合は上手く折り返してくれない場合が多々あります)
又は、自身が改行する位置を設定したい!ということもあると思います。
今回はTableauの標準機能を使用せずに、指定の文字数ごとに改行を追加する実装をご紹介致します。
注意点
あくまで指定の文字数ごとに改行する実装であるため、1文字の大きさが異なると改行される位置が揃わないです。
目的
左側(元のフィールド)はラップをONにしているが、上手く表示されない。
右側(改行実装)は10文字ごとに改行されて全文表示されている。
実装
正規表現を使用してN文字ごとに改行を追加する計算フィールドを作成します。
REGEXP_REPLACE([フィールド名],'(.{N})(?!(\r\n|\n|\r))','$1
')
※"$1"の後の改行を忘れないでください。
改行以外の文字がN回続きかつ直後が改行でない文字列とマッチし、マッチした文字列+改行で置換しています。
(.{N})
任意の文字がN回続く文字列のグループ
(?!(\r\n|\n|\r))
改行が後に続かない(否定先読み)
$1<改行>
グループ(丸括弧で囲んだ箇所)+改行
終わりに
今回ご紹介した実装では元の文字数が何文字であろうとも対応が可能です。
ご活用いただければ幸いです。