1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

カラム名を一括で(読み替え一覧から)変換する

Posted at

縦結合したい!でもカラム名があってない!!!

つまり、こういうこと
テーブル1
image.png
「クエリの追加」で縦に結合すると…
image.png

…そうだよねぇ!残念!

これ全部カラム名の変更かけるの…

結合するテーブルがいっぱいあったら?カラムが多いテーブルだったら?

とても対応しきれる気がしないし、カラム名書き換えの式を間違えずに作り切れる気がしない…(あと、間違ってても気が付ける気がしない)

読み替え用の一覧作っていっぺんに書き換えよう!

まずは、読み替え用のテーブルを作る

image.png
 ↑「読み替えリスト」って名前のテーブルにした

 なお、カラム名は何でもよいので、1カラム目がOld 2カラム目がNewになるようにする。
 (なお、テーブルに3カラム以上作るとその後怒られる)

 ※テーブルの元データをExcelとかで外部に持たせておくと、追加とかメンテナンスとか、QCとか楽かもしれない

読み替えをかけたい方のテーブルに変換かける

数式バーに直接書いちゃう。
image.png

= Table.RenameColumns(変更された型,Table.ToRows(読み替えリスト))

image.png
黄色:直前のステップ名
水色:さっき用意した変換用のテーブル名

縦に結合したら…?

image.png

もう残念じゃない!

補足:読み替え用のテーブルについて

3つ以上テーブルを変換かけたいときや、今後こんなカラム名で来るデータもあるかも?を、事前に用意したい場合、変換をかけられてるテーブルでは関係ない読み替えのペアも登録しておきたいこともあると思います。

たとえば、変換かけたいテーブルがこれ
image.png
読み替え用テーブルがこれ
(説明するまでもないですが3行目はテーブル内に存在しないカラム名)
image.png

こういう場合は、第2引数に「MissingField.Ignore」を足すと

= Table.RenameColumns(変更された型,Table.ToRows(読み替えリスト),MissingField.Ignore)

↓存在しないカラム名は無視されるので、問題なく変換されます
image.png

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?