長い文字列は改行しちゃうと表示がつぶれません:Tableauを大学IRで使う時のPDF対策

 今年の初めの方に、上智大学相生さんによる「TableauでうまくPDF出力・印刷をするには」 を紹介いたしました。
 紙・PDFに悩む日本の大学IR、うまく出力することはとても重要になっています(重要になってほしくはありませんが…)。

 上記のページに、
7. 固定文字数で改行をしたい
というテクニックが紹介されています。Tableauさん、文字の表記がとても苦手で、長い文字列になると勝手に省略しちゃったりする、悪い子になります。それをこちらから改行を入れてあげることで、うまくすべての文字列を表示出来るようになる、というテクニックです。

 それを参考にして、改行までの文字列をパラメータで調整できるようにしてみました。ちょっと上級編ですが、動きが面白いのでご紹介です。

やり方は、2ステップ
・長さを指定するパラメータを作る
・計算フィールドでパラメータの値で改行(CHAR(10)が改行の意味)を入れる呪文を用意する。
 LEFT(文字列, 長さ):指定した”文字列”を左から”長さ”分切り取ってくれる
 MID(文字列, 長さ):指定した”文字列”を”長さ”分だけ進んだ先を切り出してくれる
 今回は以下のような形
LEFT([質問],[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*2+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*3+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*4+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*5+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*6+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*7+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*8+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*9+1),[長さ])
+CHAR(10) + LEFT(MID([質問],[長さ]*10+1),[長さ])

 動作が面白いので、ご興味ある方はぜひお試しを!

 お役に立てれば幸いです。