PR

【図で分かる!】Power Query 入門 テーブル追加

Power Query データ加工
記事内に広告が含まれています。

同じ形式のデータが複数あった場合、それらを一つのデータに統合することでデータの利用価値が高まります。

このような場合に使うのが 「テーブル追加」 です。

データ処理をする上で、「テーブル追加」「テーブル結合」 に並んで知っておくべき知識です。

内容はとてもシンプルですので、是非ここで頭に入れておきましょう。

スポンサーリンク

テーブル追加とは何か

例えば毎月の売上のデータがバラバラに存在して、年間の売上を集計したい場合、集計操作は複数回必要で大変に非効率です。

このような場合に、集計操作を1回でできるように毎月の データを一つにまとめてしまう ような操作が「テーブル結合」です。

さらに、数年分のデータが手に入るのであれば、これらをまとめておけば過去数年の売上推移など様々なデータ分析が可能になります。

追加は「縦につなげる」操作

例で挙げた売上データは 日付や売上額 など列項目は決まったもののはずです。

テーブルの追加はこの列項目は増やさずに 行を増やす操作 になります。

つまりテーブルを縦につなげるという操作です。

追加の前に理解しておくべきこと

列名を統一する

Power Query のテーブル結合は同じ名前の列を機械的に縦につなげます。

そのため、例えば「売上」と「売上額」のように 名前の違う列は別のもの として扱われてしまいます。

ですので、同じ意味合いの データ列の列名は統一 するよう、それぞれのクエリでデータを整えておく必要があります。

列名が揃っていない場合に起きること

例えば 「売上」 という列のある テーブルA と、「売上額」 と列のある テーブルB を追加するとどうなるでしょうか?

出力されるテーブルには「売上」という列と「売上額」という列が含まれることになります。

テーブルA のデータ範囲には 「売上額」のデータは無く、逆に テーブルB のデータ範囲には 「売上」のデータは無い という利用価値が低いデータが生成されてしまいます。

怖いのはこのようなケースでも 特にエラーは発生せずに結合操作が完了してしまう ため、ミスに気づきにくいということです。

テーブル結合の際にはかならず列名を統一することを忘れないで下さい。

データ型も一致させる

列を縦につなげるには列名を一致させるだけでなく、データ型も一致させる必要があります。

全く型の違うデータをつなげるというケースはあまり無いかもしれませんが、起こりそうなケースとして 「日付」型 と「日時」型 のデータがあります。

Power Query では日付のデータ列があった場合、自動で「日時」型に設定 することがあります。

テーブル結合の際に 片方は「日付」型 で、もう片方は「日時」型 のデータの場合は、データ型はリセット されてしまい データ型は不定 という状態になってしまいます。

テーブル結合自体はできてしまいますが、例えばその列から「年」を取得しようとしても、「日付」型でないためにエラーになってしまいます。

このようなミスを無くすためにも、テーブルの結合前には正しくデータ型を設定 しておく必要があります。

Power Queryでの追加操作手順

テーブル結合に関する予備知識を理解したところで、いよいよ実際に Power Query でテーブル結合の操作をしていきましょう。

追加対象となるクエリの準備

まずは追加するデータをクエリとして作成します。

サンプルファイルを例に操作手順を解説しますので、ご自分でも操作して確かめて頂けますのでよろしければダウンロードしてみて下さい。

以下の操作をして、それぞれのテーブルからクエリを作成します。

  1. テーブル内のどれかのセルを選択
  2. メニューから 「データ」>「テーブルまたは範囲から」 をクリック
  3. Power Query エディター が開くのでメニューから 「ホーム」>「閉じて読み込む」のプルダウン>「閉じて次に読み込む」
  4. データのインポート ウィンドウが開くので 「接続の作成のみ」 を選択して 「OK」ボタン を押す
  5. サイドウィンドウが開きテーブル名と同じ クエリが作成される

ここまでの操作で図のように2つのクエリが作成されたかと思います。

続いてこれまでの解説の通り、クエリの中で次の処理を行います。

  • 列名の統一
  • データ型の統一

列の順番は統一不要

ちなみに、列名や列のデータ型は一致させる必要がありましたが、列の順番は一致させる必要はありません。

テーブル追加の操作をする際に、追加先のデータの列順に合わせて自動で修正されます。

クエリの追加の操作

ここから図のように操作してテーブルを追加します。

実務でよくある追加パターン

続いて実務でよくある追加パターンとその注意点を紹介します。

月次・日次データの追加

サンプルでもあげたような月次や日次のデータを追加するケースです。

この場合、時系列にデータとつないでいくので、「日付」列などがあればそのままの形で追加の処理をすることで問題ありません。

しかし、例えば「年」「月」「日」のように日付のデータがバラバラに存在する場合は、追加の処理の際に日付が特定できる情報がデータに揃っているかを確認しましょう。

複数拠点・複数担当のデータ統合

フォーマットは同じで複数拠点や複数担当のデータを統合する場合、抜け落ちがち なのはその拠点や担当者の情報です。

データを作成している人にとって拠点名や担当者名の情報は当たり前なので通常は入力されません。

データを統合する場合は、それらの 識別情報 を追加前のデータに加えておく必要があります。

具体的には「拠点名」や「担当者名」といった列を追加してそこにデータを入力しておきます。

過去データと最新データの統合

ある時点の状態のデータが一式あったとします。このデータは常に更新されていて、定期的にスナップショットが取得されているとします。

これらのデータを統合するというケースがあります。

このようなデータを統合すると、あるポイントの時系列推移を評価できるなど、データの利用価値が高まります。

このような場合は、データが取得された時点の「日時」の 識別情報 を追加して統合します。

テーブル追加を安定させる考え方

真に必要なデータを設計する

テーブルを追加してより大きなデータにするとその利用価値は大きくなります。

このような利用価値の高いデータは、やはり無計画で作れるものではありません。

最終的にデータを利用する場面を想定して、真に必要なデータを丁寧に設計する必要があります

設計で考えるべきポイントは次のようなものがあります。

データの設計で考えるべきポイント

  • 必要なデータ列
  • 列名の統一
  • データ型

このデータの設計を目標にクエリを組み立てれば、作業の途中で迷うことは無くなります。

識別列を追加する

テーブルの追加では様々な拠点、部署、時点のデータを統合することが可能です。

しかし、これらの識別無く統合してしまうと、データの出どころが分からなくなってしまいます。

特にテーブルの追加では、この データの出どころ を識別する 識別列 を追加しておくことが大切です。

この識別列は後のデータ分析の工程で非常に役立つものとなります。

追加はなるべく後ろで行う

テーブルの追加はクエリ処理のなるべく後ろに行うのが鉄則です。

データが整わないまま追加してしまうと次のようデメリットが生じてしまうからです。

  • データの修正が大変
  • 同じ意味の列が重複して使えなくなる
  • データ型が不定となり使えなくなる

まとめ

テーブルの追加で大きなデータにすることで、データの利用価値を高めることができます。

特に、同種で多数 ある情報源から得たデータを適切に 識別 して 追加 することで、非常に有用なデータとすることが可能です。

Power Query では比較的簡単な操作でテーブル追加ができますので、この機能の使い方を身に付けて是非ご自分の仕事でも活用してみて下さい。

特に気を付けるのは 丁寧な設計 です。計画的にデータを作ることでより 利用価値の高いデータ を作れますので、皆さんも心掛けてみて下さい。

タイトルとURLをコピーしました