PowerQuery 「null」を0や空白に置換する

Power Query(パワークエリ)で「null」を0や空白に置換する方法を紹介します。複数列やテーブル全体でnullを一括置換する方法も合わせて紹介していますので参考にしてみてください。

目次

「null」を0や空白に置換する

「null」を0や空白に置換するには ホームタブまたは変換タブにある値の置換を利用します。

値を置換したい列を選択して「値の置換」を用いることでnullを設定することで置換が行えます。

「null」 置換の方法

手順説明のための例として、下記データの列1のnullを空白に、列2のnullを0に置換します。

STEP
nullを空白に置換する
  1. nullを置換したい列「列1」をクリックして選択する。
  2. ホームタブの「値の置換」をクリックする。
  3. 「検索する値」に「null」を入力し、「置換後」は入力せずにOKをクリックする。
STEP
nullを0に置換する
  1. nullを置換したい列「列2」をクリックして選択する。
  2. ホームタブの「値の置換」をクリックする。
  3. 「検索する値」に「null」、「置換後」に0を入力してOKをクリックする。
STEP
null置換完了

以上でnullの置換は完了です。列1のnullは空白になり、列2のnullは0に置換されています。

Sponsored link

複数列の「null」を一括置換する

複数列・テーブル全体の「null」の置換は各列のnull置換と同様に「値の置換」を用いて行います。

置換を行いたい複数列または全ての列を選択してから値の置換を利用すればOKです。

テーブル全体の「null」置換の手順

手順説明のための例として、下記データのすべての列のnullを0に置換します。

STEP
すべての列でnullを置換する
  1. 置換したい複数列または全ての列をCtrlキーを押しながらクリックして選択する。
  2. ホームタブの「値の置換」をクリックする。
  3. 「検索する値」に「null」、「置換後」に0を入力してOKをクリックする。
STEP
null置換完了

以上でnullの置換は完了です。テーブル全体のnullが0に置換されています。

Sponsored link

追加列へのnull置換設定適用

テーブル全体やすべての列で文字列置換を設定した場合に あとで新規追加される列にも事前に設定した文字置換設定を適用させたい場合があると思います。

その方法を紹介します。

追加列には置換が適用されない

通常設定だと文字列置換は事前に設定した列のみしか適用されません。具体例としてはこのような状況です。

問題の具体例

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

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

置換が適用されない理由

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

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

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

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

そのため、解決策は「置換を行うテーブル列名を個別に指定するのではなく、テーブル列名を取得して利用する」とすれば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をコピーしました!

コメント

コメントする

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

CAPTCHA

目次