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

汎用性のある手法
①ヘッダの固有値を取り出して、一意の番号を振る(集計+レコードID or タイル+集計)
②元データのヘッダを、①で生成した一意の番号に書き換える(検索置換)
③番号をヘッダにしてクロスタブ後、動的リネームでヘッダ書き換え


最初に思いついたけれど、不具合が発生する場合があり没にした手法
①「元のヘッダー名」vs 「アンダーバー強制変換後のヘッダー名」の対応表を作る(正規表現で\Wにマッチする文字を_に変換)
②クロスタブ後、動的リネームで書き換え
問題点
「元のヘッダー名」vs 「アンダーバー強制変換後のヘッダー名」が1対1に対応しない場合、意図しない結果になる。
(例: A A と A_A というヘッダ名は強制変換後はともに A_A になってしまう)

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

所感
これ専用のマクロとかもあるようですが、共有する際にマクロ含めたyxzp化するのもめんどくさいので、こんな感じでちょろちょろっと直しちゃうのが楽な気がします。
他に汎用性のある手法をご存じでしたら、教えてください!