
皆さん こんにちは。
正規表現を使った「REGEXP_MATCH」の挙動について質問させてください。
端的に申し上げると「TableauDesktopとTableauPrepでは同じ式でも結果が異なるが、これは何故でしょうか?」という内容です。
<詳細>
次のようなExcel表があります。
この分類コードはドットの数が階層の深さに対応しています。すなわち、ドットが無ければ第一階層、ドットが1個なら第二階層、ドットが2個なら第三階層といった具合です。
集計レベルの異なる複数の集計値と明細が混在したデータと考えてください。
階層の深さの最大値は3と決まっているため、REGEXP_MATCH関数を使って次のような式で階層名を付与することを考えました。
データの整形にはTableauPrepを利用して行っているのですが、この式では全て null となります。
試しにTableauDesktopに同じ式を貼り付けて表示すると、TableauDesktopでは正常に階層名が表示されます。
パターン部分をシンプルに、エスケープしたドットだけ('\.' )にすることを試してみましたが、これもDesktopとPrepで結果が異なり、Prepは全て null になります。
リテラルを括弧で括ってみたりもしましたが、結果は変わりません。
TableauPrepでは正規表現の使い方に何かしらの特徴やルール、制約があるのでしょうか?
ご存知の方がいらっしゃればご回答いただけると幸いです。
宜しくお願い致します。
一通り見ましたけど、おそらく、サポートされてないんでしょうね。
情報源これだけですけど。
Unboxing Tableau Prep 2018.1 | Insights Through Data
アイデアも見当たらなかったので、よろしければ、アイデアポストしてみてください。
Ideas
Shin