📊
Power Queryで重複した行を削除する
はじめに
テーブル内の重複したレコードを削除したり、FactテーブルからDimensionテーブルを作るなど、特定の列から一意の値を抽出したい場合があるが、どうすれば実現できるのか?
Power Queryの「重複の削除」機能で実現できる
このように重複する行を削除したい時、Power Queryの「重複の削除」機能または「グループ化」機能で実現できる。本文は主に「重複の削除」機能での実現を紹介する。
「重複の削除」機能
Power Queryの「ホーム」リボン⇒「行の削除」の下にある「重複の削除」機能を利用することで、クエリテーブルから重複する行を削除することができる。
重複の判定仕様
重複しているかどうかの判定は、「重複の削除」を押す時に選択状態にある列に対して行われる。複数のレコードの選択されたすべての列の値が全部一致する場合、重複していると判断され、1レコードのみが残される。
1列に対して重複削除する例
例えば下記都市ごとの人口データを持つテーブルがある。同じ国には複数の都市のレコードが存在する。
このテーブルから国名のDimentionテーブルを作りたい場合、以下のように「国名」列以外の列を先に削除してから「重複の削除」をするといい。
「重複の削除」前のテーブル
「重複の削除」後に得られたDimentionテーブル
複数列に対して重複削除する例
例えば下記都市ごとの人口データを持つテーブルがある。各都市がそれぞれ2行存在する。
「国名」と「都市名」の2列を選択して「重複の削除」をすると、各都市がそれぞれ1行になった。
全部の列を選択した状態で「重複の削除」をする場合、レコードのすべての値が完全に一致するレコードのみが重複と判定される。今回の例でいうと、日本の都市は2行の人口の数字が違うので、重複と判定されず、全部残った。
参考
Discussion