LoginSignup
5
1

More than 1 year has passed since last update.

雑・Excel入門試論 - 脱VLOOKUPの思考 16 - Power Query - 変換

Last updated at Posted at 2022-12-15

 読み込まれたデータをそのまま利用することは多くなく、8割以上は何かしらの整形・変換が必要だと思います。
 Power Queryは、強力なETLツールです。ETLとは、抽出(Extract)、変換(Transform)、取込(Load)の3つを指します。前回は抽出部分について説明しましたので、変換について2回に渡って説明します。

データのプロファイリング

 まず、データの品質を調べます。表示タブの「列の品質」、「列の分布」にチェックを入れると、以下のような表示が現れます。

 1列目のNoは全て一意の値が5つあり、エラーも空もありません。2列目のValは、4種類の値があり、一意の値はnull,12,13の3つです。null(空)の値は全体の20%で、有効な値はそれを除く80%になります。

 後でキーとして扱う項目は全て一意になっていることが大切です。その他のデータ項目は、エラーや空(null)の値がないことが望ましいです。ただし、データの種類によって、必ずしもそうならないものもあります。

 データ処理を行う前に、この情報を確認するようにしてください。
 この情報は、上位1000行の値で作成されていますが、それ以上のデータがあり、確認が必要な場合は、ステータスバーの「上位1000行に基づく列のプロファイリング」のメッセージをクリックし、「データセット全体に基づく列のプロファイリング」を選択します。ただし、データ数が多い場合、時間がかかります。

変換の例を与えると変換方法を推理してくれる

 「列の追加」タブで、「例からの列」の「選択範囲から」を使用すると、変換方法を推理してくれます。下の例では、チェックボックスの付いている列「Val」の「Hello World」を元に、「World」という値になるという例を入力すると、それ以降の列の値を推理して灰色の文字で表示してくれます。うまく推理してくれない時は、2行目、3行目と例を示してやるとうまくいくことがあります。複雑な変換はできないことがあります。

計算列の追加

 自分で処理を記述して列を追加するには、「カスタム列」を選択します。

意味的変換

 元のデータには、男性、女性、不明を0,1,2などのようなコードで入れてある場合、男性、女性、不明という表記に変えるか、男性、女性、不明という値を持つ項目を追加してやるほうがいい場合があります。

重複排除

 データの重複がある場合、重複を削除しなければならないときがあります。項目名を右クリックし、「重複の削除」を行います。

データソースの隙間や空白セルをなくす

 データソース内の空白の列は、事前に削除しておかなければなりません。空白の列がある場合、殆どの場合テーブルの作成に失敗します。

 データソース内の空の行を、事前にすべて削除して置かなければなりません。空白の行があると、データの範囲を特定できません。

 データソースの空白セルは、できるだけ埋めておきます。必須ではありませんが、後処理でエラーが発生しやすくなります。可能な限り、論理的な欠落値コードを使って表現することが推奨されます。

隙間や空白のセルをなくすことは、見た目が美しいレポートを作りたい人には嫌がられるかもしれませんが、価値のあるデータを記録し活用できるようにするためには、重要な意味があります。

作業の文書化

 Power Queryを使うメリットの1つに、複数の作業のステップを見ることができることです。右側に表示されている「適用のステップ」の名前を、作業の内容がわかるように変更したり、プロパティに説明を書いておけば保守がしやすくなります。

image.png

コンテンツ

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1