PowerQuery 列データの削除|列番号指定・特定文字を含む列名

Power Query(パワークエリ)で列データを抽出・削除する方法を紹介します。

基本の列削除方法から列番号指定・列名に特定文字を含む列の削除方法まで解説しています。

目次

列の削除方法

不要な列データを削除するには、ホームタブ内にある「列の削除」を使用します。

列の削除には下記の2種があるため、それぞれ使用方法を解説します。

  • 列の削除:選択した列を削除
  • 他の列の削除:選択した列以外を削除

個人的には、元データが変更された場合に対応しやすい「他の列の削除」がオススメです

列の削除

「列の削除」コマンドの使い方を解説します。

STEP
データ準備

説明例として、下図のデータから[カテゴリ]列と[日付]列を削除します。

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

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

他の列の削除

「他の列の削除」コマンドの使い方を解説します。

STEP
データ準備

説明例として下図データから[ID]列と[値]列を残します。

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

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

Sponsored link

列番号による列の削除

次に列番号により列を削除する方法を紹介します。

この方法を用いることで元データの列名が変更された場合でもエラーが発生せず、削除できるようになります。

列番号指定の削除式

列番号指定による列削除には下記の式を用います。

元テーブル列番号にはそれぞれの環境に合わせて値を設定してください。列番号は0始まりなので注意してください。

 Table.RemoveColumns(元テーブル,{Table.ColumnNames(元テーブル){列番号}})
 Table.RemoveColumns(元テーブル,{Table.ColumnNames(元テーブル){列番号1}, Table.ColumnNames(元テーブル){列番号2}})

複数列の削除の場合、上記式では2列のみですがカンマ区切りでTable.ColumnNames(元テーブル){列番号}を追加して削除列を増やすことも可能です。

列番号による削除手順

列番号指定による列削除の手順を解説します。

STEP
データ準備

説明例として、下図のデータから列番号0,2(カテゴリ列と日付列)を削除します。

STEP
新しいステップの追加

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

STEP
削除式の入力

新しいステップの数式バーに下記の式を入力します。元テーブル名には変更された型、列番号には02を設定しています。

 Table.RemoveColumns(変更された型,{Table.ColumnNames(変更された型){0}, Table.ColumnNames(変更された型){2}})
STEP
列番号指定の削除完了

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

Sponsored link

列名に特定の文字列を含む列の削除

次に列名に特定のテキストを含む列のみを削除する方法により列を紹介します。

この方法により、列名がルールによって決められている場合などに一括して列を削除することが可能となります。

列名による削除式

列名にある文字列が含まれる場合に列を削除するには、下記の2の式を用います。

まず指定文字列を含む列名リストを作成して、そのあとにその列名リストを用いて削除を行います。

List.Select(Table.ColumnNames(元テーブル), each Text.Contains(_, "指定文字列"))
Table.RemoveColumns(元テーブル, 列名リスト)

元テーブル指定文字列列名リストにはそれぞれの環境に合わせて値を設定してください。

列名による削除手順

列名による列削除の手順を解説します。

STEP
データ準備

説明例として、下図のデータから列名にカテゴリを含む列を削除します。

STEP
新しいステップの追加

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

STEP
列名リストの作成

新しいステップの数式バーに下記の式を入力します。元テーブル名には変更された型、指定文字列にはカテゴリを設定しています。

List.Select(Table.ColumnNames(変更された型), each Text.Contains(_, "カテゴリ"))
STEP
新しいステップの追加

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

このとき下図のように作成した列名リストでカテゴリを含む列名がピックアップされていることがわかります。

STEP
列の削除

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

Table.RemoveColumns(変更された型, 列名リスト)
STEP
列名による削除完了

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

Sponsored link

特定の文字列以降の列の削除

次に、特定の文字列より右側にある列を削除する方法を紹介します。

この方法では、テーブルの転置と下記式を利用します。

Table.FirstN(元テーブル名,List.PositionOf(元テーブル名[列名],"指定文字列"))

元テーブル列名指定文字列は環境に応じて値を設定してください。

削除手順は以下の通りです。

STEP
データ準備

今回は下図のデータから”C”と入力のある列より右の列を削除します。

STEP
テーブルを転置する

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

STEP
ステップの追加

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

STEP
削除式の入力

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

Table.FirstN(転置されたテーブル,List.PositionOf(転置されたテーブル[Column1],"C"))

Table.FirstN は指定の数より上の行を保持する関数であり、List.PositionOf は列(リスト)の中にある指定文字の位置番号を調べる関数です。

STEP
再度、テーブルを転置する

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

STEP
列の削除完了

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

Sponsored link

列の抽出方法

最後に列データの抽出の方法を紹介します。

削除とは判定に必要な列データを選択して残すには、ホームタブ内にある「列の選択」を使用します。

抽出手順は以下の通りです。

STEP
データ準備

列データの選択・抽出の例として下図データから[ID]列と[値]列を抽出します。

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

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

Sponsored link

まとめ

今回は列データの削除方法を紹介しました。

基本削除の操作として「列の削除」・「他の列の削除」があり、応用として列番号指定や列名条件による削除も可能です。

「他の列の削除」を使うと元データが変更されて列が増えた場合もクエリを修正しなくて良いのでオススメです。

処理しているデータの作成ルールや更新条件などによって使い分けてみてください。

Power Queryのおすすめ書籍

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

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

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

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

コメント

コメントする

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

CAPTCHA

目次