PowerQuery 「値の置換」を新たに追加した列にも適用させる

「値の置換」を用いて設定した文字置換を新しく追加した列にも適用させる方法を紹介します。

元のデータソースであるテーブルが頻繁に変更される場合に利用すると毎回の修正の手間が省けます。

ドノ

ここではTable.ColumnNames関数を用いた方法を紹介します。

目次

新規列に「値の置換」が適用されない問題と理由

パワークエリにて「値の置換」を利用して文字置換をした後に、元データに新しい列が追加されるとその列には事前に設定した置換が適用されません。

具体例としてはこのような状況です。

列1,列2のnullを0に置き換える設定をする。

そのあとに元データに列3が追加されても置換後のテーブルの列3には置換が適用されません。

置換が適用されない理由

置換設定が新たに追加した列に適用されない理由は「置換を行う列を列名で指定している」ためです。

下図の置換を行っているステップの数式バーには列名指定が{”列1”,”列2”}となっています。そのため、新たに追加された列(下図では列3)では置換が行われません。

Sponsored link

追加列に置換を適用させる方法

文字置換が新たな追加列に適用されないのは 置換を行う列名に新しい列の列名がないことが原因でした。

そのため、解決策は「置換を行うテーブル列名を個別に指定するのではなく、テーブル列名を取得して利用する」とすればOKです。

このテーブル名を取得するといった部分にTable.ColumnNamesという関数を用います。

Table.ColumnNames関数とは?

テーブルの列名取得にはTable.ColumnNames関数が利用できます。テーブル名の部分に列名を取得したいテーブル名を入力すれば、そのテーブルのすべての列名を取得できます。

Table.ColumnNames(テーブル名)

新規追加列に置換を適用させる設定方法

設定方法の例として、下図の設定を追加列にも置換が設定されるように変更します。

設定方法は簡単で数式バー内の {”列1”,”列2”}をTable.ColumnNames関数に置き換えることでOKです。

Table.ColumnNames関数には参照するテーブルが必要です。ここではテーブルには置換を行う前のテーブル「変更された型」を利用します。※参照テーブル名はそれぞれの状況に応じて変更してください。

数式バーの{”列1”,”列2”}Table.ColumnNames(変更された型) に変更します。

以上で、設定変更は完了です。新たに追加された列3にも置換設定が反映されていることがわかります。

このあと、元データに列4,列5と追加されたとしても すべての列に置換設定は適用されます。

ドノ

Table.ColumnNamesで参照するテーブル名がわからない場合は
「置き換えられた値」ステップのひとつ上にあるステップ名(テーブル名)を設定すればOKです。

Sponsored link

Power Queryのおすすめ書籍

パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。

初心者向けおすすめ学習本

初中級者向けおすすめ学習本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仕事、お金、旅行のことなどメモしてます。
仕事ではTableauを勉強中!
初心者にもわかりやすいように学んだことを発信していきます。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次