こんにちはblueです。
この記事は『Power Queryを初めて触る方』『名前は知っているけど勉強できていない方』向けににわかりやすく説明します。
前回はデータ整形について説明しました。
前回の記事はこちら
今回はテーブルを横につなげる方法である「クエリのマージ」について説明します。非常に便利な機能ですのでぜひ勉強していってください。
~とある会話~
2つの表を合わせる仕事をしているんだけど、該当するデータを別の表に転記する作業って面倒だよね
名前やLotといった共通列をもとに合わせる方法ですね。その作業はPower Query のクエリのマージという機能を使えば簡単に結合できますよ。強力な機能ですのでぜひ覚えていってください。
よろしくお願いします!
Power Queryに関してどの書籍を買ったらいいの?と思われている方には以下がお勧めです。簡単なボタン操作から、関数を使った処理まで、サンプルデータを一式操作してみるだけでPower Queryが使えるようになります。購入して間違いのないお勧めの一冊です。
るようになります。購入して間違いのないお勧めの一冊です。
とりあえず標準機能だけでも使いこなせるようになりたいと思われている方には以下がお勧めです。関数などの難しい記載はほとんどなくボタン操作のみでPower Queryを扱えるようになります。
今回のゴール
- 別ファイルにあるテーブルを横に結合できるようになる
以降で詳しく説明します。
今回のサンプル
今回のサンプルは以下の3つです。一つ目は空のExcelファイル、2つ目はトランザクションデータである「売上明細」、3つ目はマスターデータである「顧客情報」です。
トランザクショデータ、マスターデータという言葉については以降で説明します。
これらのデータを以下の様に横で結合するのが今回のゴールです。
トランザクションデータ、マスターデータとは
マスターデータは「何かの基礎となるデータ」
トランザクションデータは「システムを使うことで蓄積されていくデータ」
のことです。
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
マスターデータは基本情報となるデータです。
社員情報や製品情報など、頻繁には更新されないデータです。
トランザクションデータは業務に伴って発生したデータです。
販売実績や製造履歴など日々頻繁な行進が行われるデータです。
基本的にはトランザクションデータにマスターデータを結合することになります。
ここは重要なので理解しておいてください。
トランザクションデータとマスターデータを接続専用で取得する
まずはトランザクションデータとマスターデータを取得します。
1 Power Query6.xlsxを開きます
2 [データ]-[データの取得]-[ファイルから]-[Excelブックから]より[Sample6-1(トランザクションデータ).xlsx]を選択します
3 [販売実績]テーブルを選択し、[データ変換]をクリックします
4 [ホーム]-[閉じて読み込むの▼]-[閉じて読み込む]をクリックします
5 データのインポート画面で[接続の作成のみ]を選択し、[OK]をクリックします
以下の様にクエリと接続の部分に接続専用のクエリができていればOKです。
これを[Sample6-2(マスターデータ).xlsx]の「顧客情報」テーブルについても同様に行います。
マスターテーブルを横につなげる
同じ列を持った複数のテーブルを横につなげるには「クエリのマージ」を行います。
1 「販売実績」クエリを右クリックし、「編集」をクリックします
2 Power Queryエディター画面にて[ホーム]-[クエリのマージの▼]-[新規としてクエリをマージ]をクリックします
3 マージ画面で以下の様に設定します
上のテーブルには結合の元となるテーブルを選択します。ここではトランザクションデータである「販売実績」テーブルを選択します。結合する列として「会社名」列を選択します。
下のテーブルには結合したいテーブルを選択します。ここではマスターデータである「顧客情報」テーブルを選択します。結合する列として「会社名」列を選択します
結合の種類は「左外部」とします。少しわかりにくいですが左とはマージ画面の上のテーブル、右はマージ画面の左のテーブルとなります。
イメージとしては以下で、結合の元となる左テーブルに右テーブルを結合する作業となります。
なお結合の種類については色々とありますが、ここでは基本「左外部でよい」ことにしておきます。
(左外部とは「左のテーブルはすべて残しておいて、右のテーブルは共通する部分だけいれる」という方式になります)
他の使い方については別記事で説明しますが、Docsページの中段にいい図があるのでこちらも参考ください。
クエリのマージの概要 (docs.com)
最終的には以下の様に「マージ1」クエリに「顧客情報」列が追加されていればOKです。
Tableが結合された形となっています。
結合されたテーブルを展開する
1 先ほどの「顧客情報」列右上の「展開」ボタンをクリックします
2 「担当者名」「住所」をチェックし、「この列名をプレフィックスとして使用します」のチェックを外し、OKを押します。
プレフィックスとは接頭語という意味です。「(顧客情報テーブル)列名を接頭語として使いますか?」ということですが普通は使わないので外せばOKです。
最終的に以下の様に右側に結合されていればOKです。
会社名列を共通として該当する担当者と住所を結合してくれています。
講義後の会話
この方法だと簡単に結合できて便利だけど、「テック株式会社」と「テック株式会社」のように名前が微妙にでも違うとうまく結合してくれないんだね。
そうです。なので今回の一連の講義ではデータ整形を先に教えたんです。データ整形→表の結合の順でやればうまくいきますよ。
なるほど!その方法でやってみます!
今回のまとめ
今回はテーブルを横につなげる方法について説明しました。
以上で基礎講座は終わりとなりますが、より勉強されたい方は以下の本で勉強されることをお勧めします。ボタン操作から、関数を使った処理まで、サンプルデータを一式操作してみるだけでPower Queryが使えるようになります。購入して間違いのないお勧めの一冊です。
とりあえず標準機能だけでも使いこなせるようになりたいと思われている方には以下がお勧めです。関数などの難しい記載はほとんどなくボタン操作のみでPower Queryを扱えるようになります。
初心者向けPower Query入門に関する記事はこちら
【Power Query初心者入門】Excelファイルのテーブルの読み込み方法について説明します
【Power Query初心者入門】Excelファイルのシートの読み込み方法について説明します
【Power Query初心者入門】列の結合、列の分割方法について説明します
【Power Query初心者入門】データ整形の方法についてわかりやすく説明します1
【Power Query初心者入門】データ整形の方法についてわかりやすく説明します2
【Power Query初心者入門】テーブルを縦につなげる方法についてわかりやすく説明します
【Power Query初心者入門】テーブルを横につなげる方法についてわかりやすく説明します
コメント