ETLの「列を選択」で列名を変更するとき、複数列に一括でサフィックスをつけられるようにしてほしい

ユーザー07933
編集済: 5月 2023 ひらめき共有

ETLの「列を選択」で列名を変更するとき、

複数の列に対して、まとめて同じサフィックスを付けられるようにしてほしいです。

例えば「TABLE_A.」という文字列を先頭に付けるなど。

 

背景

「データを結合」で結合するとき、同じ列名があると「_1」などとつきますが、後処理で判別しづらく、

外部結合で結合できなかった行のNULLになっている項目を選んでしまうというバグが生じる原因となります。

(大きなテーブルの外部結合はRIGHT OUTER JOINを使わなければいけない制約も、この問題に拍車をかけています。

 RIGHTだと存在する側の列名が_1になるため。特に結合キーで発生しやすい。)

 

これを防ぐために、同じ列名がある場合には、結合元のテーブル名を列名の先頭に付けるようにしています。

SQLを書く場合にはよくやる「テーブル名.列名」の形式です。

しかしこの作業が非常に手間がかかります。

「テーブル名.」を1つずつ書き入れ、元の列名のコピーも手入力(別途提案)するためです。

 

このため、「テーブル名.」を一斉に入れる機能があればうれしいです。