Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

【TIPS】クロスタブ時にヘッダに含まれる特殊文字がアンダーバーに置換される問題

gawa
16 - Nebula
16 - Nebula

「クロスタブ時にヘッダに含まれる特殊文字がアンダーバーに置換される問題」について、対応策を整理してみました。SaaSからデータをJSONで持ってきたりすると、どうしてもヘッダ内の特殊文字が避けられないことが多く、一般化できそうな対応策を考えてみた次第です。

 

クロスタブ前データのサンプル

image.png

 

汎用性のある手法

①ヘッダの固有値を取り出して、一意の番号を振る(集計+レコードID or タイル+集計)

②元データのヘッダを、①で生成した一意の番号に書き換える(検索置換)

③番号をヘッダにしてクロスタブ後、動的リネームでヘッダ書き換え

image.pngimage.png

 

最初に思いついたけれど、不具合が発生する場合があり没にした手法

①「元のヘッダー名」vs 「アンダーバー強制変換後のヘッダー名」の対応表を作る(正規表現で\Wにマッチする文字を_に変換)

②クロスタブ後、動的リネームで書き換え

 

問題点

「元のヘッダー名」vs 「アンダーバー強制変換後のヘッダー名」が1対1に対応しない場合、意図しない結果になる。

(例: A A と A_A というヘッダ名は強制変換後はともに A_A になってしまう)

image.png

A_Aの後ろに勝手に番号が振られてしまう(名前がバッティングしてるから)

image.png

 

 

所感

これ専用のマクロとかもあるようですが、共有する際にマクロ含めたyxzp化するのもめんどくさいので、こんな感じでちょろちょろっと直しちゃうのが楽な気がします。

他に汎用性のある手法をご存じでしたら、教えてください!

2件の返信2
AkimasaKajitani
17 - Castor
17 - Castor

@gawa さん

 

おそらく一番最初の汎用性のある方法、が一番かと思います。私も改めて考えてみましたが、ほぼ同様の方法になりました(違いは、検索置換ツールではなく結合ツールを使っただけで、ほぼ違いありません)。

gawa
16 - Nebula
16 - Nebula

返信ありがとうございます。

@AkimasaKajitani さんにそう言っていただけると、現状これが最適解と確信がもてました。

あまりブロッキングツールが増えるのは好きではないのですが、これは仕様としてあきらめるしかないですね~。