Skip to main content
修平 齋藤 preguntó en Japan

皆さん こんにちは。

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

 

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

 

<詳細>

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

TableauPrepの正規表現

 

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

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

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

 

pastedImage_4.png

 

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

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

 

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

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

 

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

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

 

宜しくお願い致します。

6 respuestas
0/9000