6 Replies Latest reply on Oct 1, 2018 10:35 PM by Shinichiro Murakami

    TableauPrepの正規表現

    shuhei saito

      皆さん こんにちは。

      正規表現を使った「REGEXP_MATCH」の挙動について質問させてください。

       

      端的に申し上げると「TableauDesktopとTableauPrepでは同じ式でも結果が異なるが、これは何故でしょうか?」という内容です。

       

      <詳細>

      次のようなExcel表があります。

       

      この分類コードはドットの数が階層の深さに対応しています。すなわち、ドットが無ければ第一階層、ドットが1個なら第二階層、ドットが2個なら第三階層といった具合です。

      集計レベルの異なる複数の集計値と明細が混在したデータと考えてください。

      階層の深さの最大値は3と決まっているため、REGEXP_MATCH関数を使って次のような式で階層名を付与することを考えました。

       

       

      データの整形にはTableauPrepを利用して行っているのですが、この式では全て null となります。

      試しにTableauDesktopに同じ式を貼り付けて表示すると、TableauDesktopでは正常に階層名が表示されます。

       

      パターン部分をシンプルに、エスケープしたドットだけ('\.' )にすることを試してみましたが、これもDesktopとPrepで結果が異なり、Prepは全て null になります。

      リテラルを括弧で括ってみたりもしましたが、結果は変わりません。

       

      TableauPrepでは正規表現の使い方に何かしらの特徴やルール、制約があるのでしょうか?

      ご存知の方がいらっしゃればご回答いただけると幸いです。

       

      宜しくお願い致します。