Excel機能の1つであるPowerQueryでは、Excelデータとして様々な形式のデータを取得⇒加工し、データ作成することができます。
そのPowerQueryでも、データ加工や目的のデータを作成するうえで重要な機能が
「クエリのマージ」
「クエリの追加」
の2つです。
前回は、「クエリのマージ」について紹介いたしました。
今回は、上記の重要な機能のうちもう一つの「クエリの追加」について紹介していきます。
「クエリのマージ」
「クエリの追加」
この2つの機能を使えるようになることで、Power Queryでのデータ加工を作業の幅が広がるだけでなく、その後の集計・分析作業への活用も行えることができるため、この2つの機能はPower Queryを使う場合は必ず押さえておきましょう。
【今回の記事で分かること】
・「クエリの追加」でどんなことができるのか?
・「クエリの追加」の使い方
・「クエリの追加」のメリット・デメリット
「クエリの追加」で出来ること
前回紹介した「クエリのマージ」、そして今回紹介する「クエリの追加」の2つの機能に共通していることは「データとデータをつなぎ合わせること」です。
それぞれの機能がどのようにデータをつなぎ合わせることができるかというと、
「クエリのマージ」:データを横につなぎ合わせる
「クエリの追加」:データを縦につなぎ合わせる
という違いがあります。
とはいっても、なかなかイメージがしづらいかもしれないので、今回は「クエリの追加」について例を用いながら説明していきます。
例えば、日ごとや週ごとに売上や勤怠時間など、何らかの集計表にデータを追加、更新していき、複数のファイルが1つないしは複数のフォルダにできてしまっている・・・ということはないでしょうか?
このような場合、単日や該当する1週間分など、1つのExcelファイルに保存されているデータのみで集計作業や分析作業を行う分には問題ありません。
ですが、多くの場合は、
「短期や中長期的な傾向を把握したい。」
「売上の伸び悩みや残業時間が多くなっている要因を知りたい」
といったように、何らかの傾向や要因をつかむためにデータを使った分析を行う場合、単日や1週間のデータだけでなく、1つにまとまったデータないしはデータベースを利用して多角的に集計や分析にデータ利用することが多いと思います。
そのような集計や分析作業が必要になった場合、複数あるExcelファイルのデータを別のExcelファイルにまとめたくなりますが、このような場合に「クエリの追加」の機能が大変役立ちます。
「クエリの追加」では、複数のExcelファイルをPowerQueryエディター上のクエリとして取り込んだ後、複数のクエリを1つのクエリとしてデータをまとめることができます。
(Excelファイルと記載していますが、クエリとしてデータが取り込めていれば取込元のデータ形式はとはないです。)
この時、データとしてはフィールド(列)を追加するわけではなく、レコード(行)が追加さえれていくため、見た目上、データが縦に追加されていく機能となります。
この「クエリの追加」はPowerQueryエディターのクリック操作で簡単に行うことができるだけでなく、データを作った後の更新作業もクエリを更新するだけで最新のデータに自動で更新することができます。
このように複数のファイルやフォルダに別々で保存されているデータを1つにまとめようとすると、
「Excel VBAでのマクロツールを作ってデータをまとめる」
「ファイルを1つずつ開いて、手で転記する」
といった作業を行う必要があります。私自身もPowerQueryを学ぶ前はマクロを作ったリ、急ぎの時は転記を手動で行っていました。
ですが、このPowerQueryでの「クエリの追加」を知ってからは、マクロを作ることや転記することでの工数負荷や転記漏れはほとんどなくなり、工数もかからずデータの漏れもなくデータをまとめる作業を行うことができるようになりました。
データの集約作業を時間をかけず、かつ漏れが発生しないように行うには、まさに理想的な機能であると思います。
「クエリの追加」の使い方
ここまでで紹介してきました、「クエリの追加」はどのように使用すればいいのでしょうか?
実際の使用するイメージやPower Queryエディターでの使用方法について説明していきます。
クエリの追加の機能イメージ
実際に「クエリの追加」を使用するイメージですが、下図のようなファイルA~Cに保存されているデータをファイルDに集約し、集約したファイルDを使ってデータの集計・分析を行いたいとします。
このような場合、ファイルA~Cまでのデータを、
・手動でコピー&ペースト。
・VBAでのマクロを作成してファイルDへデータを転記する。
どちらかの作業を行うことが必要になります。
一方で「クエリの追加」も上記複数のファイルデータを一つのデータにまとめることができる機能です。
ただし、手動で行うことでのデータ転記漏れやVBAのように複雑なコードを駆使してマクロを作成することなく、クリック操作で同じことが行えます。
では、仕事の場面や日頃のExcel作業を行っている際、どういった状況で活用できるか、下記以降、例題でのシチュエーションを例に「クエリの追加」について使用方法を説明します。
例えば、仕事の場面で各月のフォルダに月次ないしは対象月の日別でデータが保存されている。といったこと場合があるかと思います。
例えば、仕事の場面で各月のフォルダに月次ないしは対象月の日別でデータが保存されている。といったこと場合があるかと思います。
下図のように各月のフォルダ内にExcelファイル(図では、「○月契約データ」)が保存されており、データの記帳や管理では使いやすいかもしれませんが、月ごとの傾向分析や実績の良し悪しを図るための要因分析をしようとすると、各月のファイルを1つに集約して、集計やグラフを作ったりといった作業が必要となります。
1~2か月程度であればまだ、手動転記でも漏れなく転記可能かもしれませんが、1年、2年間の月次傾向を把握しようとすると、その期間分のデータを一つにまとめることが必要です。
こうした複数フォルダ・ファイルからデータを漏れなく集約した場合に「クエリの追加」を利用すると便利であり、マクロのように作るのに時間をかけずにクリック操作で行うことができます。
2つのクエリを追加する
ここで、○月契約データのファイルを開き、データを確認してみましょう。
データの列名もA列~M列まであり、全てを抜けもれなく他の月のデータも含め、手動で転記しようとするとかえってミスが発生してしまうリスクにもなりかねないです。
一方マクロでデータを集約することも可能ですが、VBAコードを作ることや検証作業も含めると必要とするデータを作るまでには時間がかかってしまいます。
このように、データ数も多くあり、時間をあまりかけずにデータを集約したい場合、「クエリの追加」を使うことが一番時間がかからず、データを集約することができます。
実際に先ほどの○月契約データを下図のように4月~9月までのデータを読み込み、データを集約してみたいと思います。
なお、データの読み込みや更新方法については、下記の記事をご参照ください。
また、「クエリの追加」を使用する場合、複数のクエリを1つにまとめる作業を行いますので、追加元となるクエリは何のデータかを判断しやすいようにクエリの名前を付けておきましょう。
必要なデータの取り込みが終わったら、クエリの追加を使ってデータを集約してみましょう。
まずは既存のクエリに別のクエリのデータを追加する方法を説明します。
クエリの追加を使用するには、下図①~③の工程を踏んで行います。
①:Power Queryエディターで「ホーム」を選択。
②:結合の項目にある、「クエリの追加」を選択。
③:「クエリの追加」または「クエリを新規クエリとして追加」を選択。(今回は「クエリの追加」を選択します。)
「クエリの追加」を選択し、クリックすると、下図のような「追加」のウィンドウが表示されます。
この画面で実際にどのクエリを追加するかを選択することが可能です。
実際にクエリを追加するには下記①~③の工程を行います。
①:2つのテーブル、ないしは3つ以上のテーブルどちらかを選択。(今回は「2つのテーブル」を選択します。)
②:「追加するテーブル」のプルダウンをクリックし、追加するクエリを選択する。(今回は「5月契約データ」を選択します。)
※(現在)と記載のあるクエリは追加先のクエリを示しています。
③:OKをクリックします。
実際にクエリの追加が行われると、「適用したステップ」に「追加されたクエリ」が表示されます。
クエリ名やデータ表示では一見してわかりづらいですが、追加されたクエリのM言語(下図赤枠部分)でも、「5月契約データ」がTable.Combine関数で追加されていることが分かります。
3つ以上のクエリを追加する
次に、3つ以上のクエリを集約する場合の方法を説明します。
今回は既存のクエリに追加せず、新規のクエリを作成してみたいと思います。
下図①~②までは先ほどの「クエリの追加」の選択方法は変わりませんが、③で「クエリを新規クエリとして追加」を選択します。
「クエリを新規クエリとして追加」を選択し、追加のウィンドウが表示されます。
先ほどは「2つのテーブル」を選択しましたが、3つ以上のクエリを一度に追加する場合、下図①~⑤の工程を行います。
①:「3つ以上のテーブル」を選択
②:追加したいクエリを選択。(Ctrlキーを押しながらクエリをクリックすることで、複数クエリを選択できます。)
③:クエリを選択した状態で、「追加」をクリック。
④:追加するテーブル欄に利用可能なテーブル欄で選択したクエリが反映されているかを確認。
⑤:OKをクリック。
「クエリを新規クエリとして追加」でクエリの追加を行った場合、「追加1」として新たにクエリが作成されます。
この追加1のクエリでは、先ほどの3つ以上のクエリを追加する方法で追加したクエリが集約されます。画面上はパッと見では判断できないですが、画面赤枠のM言語上では、Text.Combine関数により選択されたクエリが複数追加されていることが分かります。
このように、Power Queryでデータ取り込み、エディター上で「クエリの追加」を使用することで比較的簡単に集約したデータを作成することができます。
ここで作成したデータは閉じて読み込む、もしくは次に読み込むにて、テーブル表示させることで集約したデータをワークシートに表示することもできますし、PowerPivotでデータ集計することも容易に行うことができます。
※閉じて次に読み込むやクエリの更新については下記記事をご覧ください。
「クエリの追加」のメリット・デメリット
ここまで「クエリの追加」に関する概要や活用イメージや例を基にした使い方を説明してきましたが、「クエリの追加」以外にもVBAでのデータ転記ツールを作ることや手作業で転記を行うことでもきます。
では、「クエリの追加」を使うメリットは何なのか?またデメリットにはどのようなことがあるのか。これまでPower Queryでこのクエリの追加を使ってきた視点でメリット・デメリットをまとめてみました。
クエリの追加のメリット
比較的簡単かつ漏れなくデータを集約できる。
これまでの記載でも触れてきましたが、データを集約するにあたってほとんどがクリック操作で簡潔してしまう作業です。
そのため、マクロツールを作成するにあたって、複雑なVBAコードを時間をかけて作成すること。また手作業で転記を行い、転記漏れが発生してしまうということが起こりづらいです。
工数削減やデータの品質担保を行う上では非常に便利な機能と言えます。
データ更新が簡単に行える。
Power Queryエディターでデータを集約しているため、データの取り込み元となるファイルが都度更新されても、クエリの追加でデータを集約したファイルを「全て更新」または対象となるクエリを更新することで作成したクエリのデータを常に最新の状態に更新することができます。
こちらもマクロツールや手動で行うよりも簡易かつ自動で行えるため、工数をかけずに更新することができます。
異なる項目列のデータを縦につなげる(追加する)ことができる
「クエリの追加」の使い方で例として取り上げたファイルでは、全てが同一項目列のクエリを複数追加する作業を行っておりましたが、実は異なる項目列があるクエリを追加することも可能です。
異なる項目列があるファイルをマクロツールで集約しようとすると、コードの作り方にもよりますが、大半がエラーが発生してしまい、データを集約することができなくなってしまいます。
ですが、クエリの追加の場合、異なる項目列があるクエリを追加しても基本的にはエラーが起こらずにデータが作成されます。この場合、項目列が存在しないクエリのレコードではその項目にあたるデータは全てNull(ワークシート上、空白扱い)となります。
使い方次第では単純にデータを集約するだけでなく、データ集計・分析の観点で新たなデータを作ることにも利用することが可能です。
一方で上記でも触れたようにエラー表示がないため、間違ったデータを取り込んでしまってもクエリの追加は動作してしまうため、注意が必要です。
クエリの追加のデメリット
ファイルサイズが大きくなりやすい。
「クエリの追加」は使い方や更新が簡単である一方で、多数のファイルを取り込んで集約を行うため、ファイルサイズが大きくなりやすい傾向にあります。
データのインポート時に「接続の作成のみ」の選択を行うことでデータサイズを押さえることは可能です。ただし、ワークシート上に集約したデータを反映することができなくなるため、あくまでも集計やグラフ作成を行う場合に利用可能であり、基本的にはそれ相応のファイルサイズになる可能性は高くなるかと思います。
「メモリ不足」により、ツールの更新ができなくなる可能性がある。
このデメリットは取り込んだファイル数やファイルサイズやPCのスペックによるものではありますが、クエリの追加で追加するクエリ数が多いまたはファイルサイズが大きい場合、Excelのメモリ不足によりクエリ更新ができなくなってしまう場合があります。
私の経験則となってしまいますが、PCのメモリが8GBの場合、20ファイル以上、または100MB以上のExcelファイルを取込。全て更新しようとするとメモリ不足となりやすいと感じます。
ただし、これはPCの利用環境にもよるものではありますので、一概に上記の内容で必ずメモリ不足になるという訳ではないので、あくまでも一例となります。
Power Queryや「クエリの追加」を効率的に学ぶためには
これまでの記載のように、Power Queryの「クエリの追加」を使いこなせるようになることで、簡単に多数あるExcelファイルのデータをまとめ、データの集計・分析に活用することが可能です。
ですが、
・Power Queryやクエリの追加について、学習している時間がない。
・書籍を読んでも、なかなか身に着けることができない。
といった方もいらっしゃるのではないでしょうか?
私自身も時間がない中でどうやって学習すればよいか悩みました。
そんな中、学習を行う上で、非常に役立ったのが、
Udemy
というサイトでの学習コンテンツでした。
≪Udemyへはこちらから≫
UdemyホームページUdemyでの動画を活用することで、
効率的にPowerQueryやその先の集計(Power PivotやDAX)を学習できた。
学んだスキルを定着させ、日々の仕事に活かすことができている。
大きく2つのメリットが自身にとってありました。
Udemyについては、過去にまとめた記事がありますのでそちらもご参照ください。
特にUdemyを利用して、
・ハンズオン形式で手を動かしながら学ぶことができる。
・動画のため、再生速度を調節しながら時短できる(1.5倍速~2倍速で視聴していました。)
・ポイントを絞って、繰り返し視聴で学習できる。
といった良かった点がありました。
Udemyではよくセールをしているため、1動画1,200円~1,800円程度で購入できます。
(本1冊分で効率よく学習することができます。)
特に、私がUdemyでPowerQueryについて学習していてオススメの動画が下記3つでした。
①Microsoft Excel – Power Pivot, Power Query, DAX 入門講座
≪こんな方にオススメ!≫
Power Queryでの加工からPower PivotやDAXを使った集計・分析までをざっくりと学んでみたい方向け。
②【続】Microsoft – Excel Power Pivot 入門講座 ~Power Query Editor編~
≪こんな方にオススメ!≫
Power Queryエディターでのデータ加工/整形方法を集中的に学びたい方向け。
③Excel& Power BI両方で使えるPower Query 完全ガイド 初級者から上級者まで対応
≪こんな方にオススメ!≫
Power Queryの概要は理解しており、さらに発展的に学びたい方向け。
PowerQueryを学習してみたい、仕事に活かしてみたいと思った方は是非、利用・活用してみてください!
書籍はこちらがオススメ!
まとめ
今回はPower Queryの機能の1つである「クエリの追加」について紹介しました。
「クエリの追加」が使いこなせるようになることで、これまでマクロを作る時間や手作業で行っていた工数を大幅に削減できるだけでなく、転記漏れといったミス防止にもつながり、「工数削減」、「ミス防止」の両面で活用できる機能であるといえます。
また、前回の記事で記載した「クエリのマージ」の機能も合わせることでデータ活用や集計・分析といったスキル向上にも役立つ機能となります。
今回の記事をご参考にぜひ仕事やExcel作業でご活用いただけると嬉しいです。
コメント