Power Query(パワークエリ)で列データを抽出・削除する方法を紹介します。
基本の列削除方法から列番号指定・列名に特定文字を含む列の削除方法まで解説しています。
列の削除方法
不要な列データを削除するには、ホームタブ内にある「列の削除」を使用します。
列の削除には下記の2種があるため、それぞれ使用方法を解説します。
- 列の削除:選択した列を削除
- 他の列の削除:選択した列以外を削除
列の削除
「列の削除」コマンドの使い方を解説します。
説明例として、下図のデータから[カテゴリ]列と[日付]列を削除します。

- 削除する列を選択する(複数列はCtrlキーを押しながらクリックする)
- ホームタブの「列の削除」を選択する。

以上で列の削除の完了です。選択した[カテゴリ]列と[日付]列が削除されています。

他の列の削除
「他の列の削除」コマンドの使い方を解説します。
説明例として下図データから[ID]列と[値]列を残します。

- 残す列を選択する(複数列はCtrlキーを押しながらクリックする)
- ホームタブの「他の列の削除」を選択する。

以上で他の列の削除の完了です。選択した[ID]列と[値]列のみが残っています。

Sponsored link
列番号による列の削除
次に列番号により列を削除する方法を紹介します。
この方法を用いることで元データの列名が変更された場合でもエラーが発生せず、削除できるようになります。
列番号指定の削除式
列番号指定による列削除には下記の式を用います。
元テーブル
と列番号
にはそれぞれの環境に合わせて値を設定してください。列番号は0始まりなので注意してください。
Table.RemoveColumns(元テーブル,{Table.ColumnNames(元テーブル){列番号}})
Table.RemoveColumns(元テーブル,{Table.ColumnNames(元テーブル){列番号1}, Table.ColumnNames(元テーブル){列番号2}})
列番号による削除手順
列番号指定による列削除の手順を解説します。
説明例として、下図のデータから列番号0,2(カテゴリ列と日付列)を削除します。

クエリの設定内でステップを右クリックして「後にステップを挿入」を選択する。

新しいステップの数式バーに下記の式を入力します。元テーブル名には変更された型
、列番号には0
と2
を設定しています。
Table.RemoveColumns(変更された型,{Table.ColumnNames(変更された型){0}, Table.ColumnNames(変更された型){2}})

以上で列番号指定での列削除は完了です。

Sponsored link
列名に特定の文字列を含む列の削除
次に列名に特定のテキストを含む列のみを削除する方法により列を紹介します。
この方法により、列名がルールによって決められている場合などに一括して列を削除することが可能となります。
列名による削除式
列名にある文字列が含まれる場合に列を削除するには、下記の2の式を用います。
まず指定文字列を含む列名リスト
を作成して、そのあとにその列名リストを用いて削除を行います。
List.Select(Table.ColumnNames(元テーブル), each Text.Contains(_, "指定文字列"))
Table.RemoveColumns(元テーブル, 列名リスト)
元テーブル
、指定文字列
、列名リスト
にはそれぞれの環境に合わせて値を設定してください。
列名による削除手順
列名による列削除の手順を解説します。
説明例として、下図のデータから列名にカテゴリを含む列を削除します。

クエリの設定内でステップを右クリックして「後にステップを挿入」を選択する。

新しいステップの数式バーに下記の式を入力します。元テーブル名には変更された型
、指定文字列にはカテゴリ
を設定しています。
List.Select(Table.ColumnNames(変更された型), each Text.Contains(_, "カテゴリ"))

再度、クエリの設定内でステップを右クリックして「後にステップを挿入」を選択する。
このとき下図のように作成した列名リストでカテゴリを含む列名がピックアップされていることがわかります。

新しいステップの数式バーに下記の式を入力します。元テーブル名には変更された型
、列名リストには先ほど作成したステップの名前の列名リスト
を設定しています。
Table.RemoveColumns(変更された型, 列名リスト)

以上で列名による列削除は完了です。

Sponsored link
特定の文字列以降の列の削除
次に、特定の文字列より右側にある列を削除する方法を紹介します。
この方法では、テーブルの転置と下記式を利用します。
Table.FirstN(元テーブル名,List.PositionOf(元テーブル名[列名],"指定文字列"))
元テーブル
、列名
、指定文字列
は環境に応じて値を設定してください。
削除手順は以下の通りです。
今回は下図のデータから”C”と入力のある列より右の列を削除します。

変換タブ内にある「入れ替え」を選択してテーブルを転置させる。

クエリの設定内の「適用したステップ」にあるステップを右クリックして「後にステップを挿入」を選択する。

新しく追加したステップの数式バーに下記式を入力する。元テーブル名は転置されたテーブル
、列名はColumn1
、指定文字列はC
と設定しています。
Table.FirstN(転置されたテーブル,List.PositionOf(転置されたテーブル[Column1],"C"))

変換タブ内にある「入れ替え」を選択してテーブルをもう一度、転置させる。

以上で完了です。下図のように”C”以降の列は削除されています。

Sponsored link
列の抽出方法
最後に列データの抽出の方法を紹介します。
削除とは判定に必要な列データを選択して残すには、ホームタブ内にある「列の選択」を使用します。
抽出手順は以下の通りです。
列データの選択・抽出の例として下図データから[ID]列と[値]列を抽出します。

- ホームタブ内にある「列の選択」をクリックする。
- 設定画面で必要な列にチェックを入れてOKをクリックする。

以上で列の選択の完了です。チェックを入れた[ID]列と[値]列のみが残っています。

Sponsored link
まとめ
今回は列データの削除方法を紹介しました。
基本削除の操作として「列の削除」・「他の列の削除」があり、応用として列番号指定や列名条件による削除も可能です。
処理しているデータの作成ルールや更新条件などによって使い分けてみてください。
パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。
・初心者向けおすすめ学習本
・初中級者向けおすすめ学習本
コメント