Power Query については、Excelシートと外部データ(クラウド、サービス、またはローカル)と連携し、データの加工(列の追加・削除や結合等)を定型化するExcelの強力な機能だということは知っていました。
でも、今まで実務の中で全く使用して無かったので、この際ちゃんと勉強して実務で活用できるのかを検証していきたいと思います。
今回は、VBAから少し離れて Power Query についていっしょに勉強していきましょう。Power Query の優れた機能をVBAから利用することもできそうですが、まずは Power Query についてしっかり勉強してからということですね。
わかりました! Power Queryエディターという言葉がテーブルについて勉強した時に出てきたのはなんとなく覚えています。よろしくお願いしますm(__)m
【この記事でわかることは】
・Power Query でどんなことができるのかがわかります
・Power Query エディターの起動方法がわかります
・いままで何故使っていなかったのかについては、一番最後に書いています。
Excel の Power Query について
はじめに、記事作成にあたっては次の Microsoft office のサポートの情報を参照しています。
・Power Query for Excel のヘルプ
・Excel の Power Query について
Power Query で出来ることは
・Power Query は Excel でデータを取得&変換する強力な標準機能のことです。
・いろいろな外部データをインポートまたは接続できます
・接続したデータをニーズに合った方法で整形できます(列削除、変換、結合など)
・クエリを Excel に読み込み、グラフやレポートを作成できます
・データが更新されると最新の情報に更新できます
・VLOOKUPなどの重い関数を使わないため再計算が頻繁に発生して待たされることがありません。
・VBAマクロを作成することもなく「UI」だけで同様の機能が実現できるようです。
Power Query 4 つのフェーズ
・よく見たらこの画像の日本語は変ですよね。
・①接続はよいとして、②変形→変換、③は結合、④は負荷(Load?)→読み込み ですかね(^^;
① 接続
・Power Query を使用して、クラウド、サービス、またはローカルのデータに接続します。
・データソースには、Web、ファイル、データベースまたは現在のExcelブックのテーブルのデータが含まれます。
・インポート後、データを更新して、外部データ ソースから追加、変更、削除を行えます。
② 変換(変形)
・元のソースを変更することなく、ニーズに合わせてデータを整形することができます。
・データの変換とは、データ分析の要件を満たすためにデータを変更することです。
・たとえば、列の削除、データ型の変更、行のフィルター処理などです。
・1つ以上のデータセットに変換(および結合)するプロセスは、データの整形ともいいます。
・データ変換は Power Query エディターで行います。
Power Query エディター
【Power Query エディターの起動方法】
・[データの取得] グループの [データの取り込み] コマンドから [クエリ エディターの起動] を選択して Power Query エディターを開くことができます。
・データ ソースへの接続、新しいクエリの作成、またはクエリの読み込み時にも開きます。
・ただし、Excelのバージョンによって違うようです。
・[データの取得] グループがない私の環境では下の画像のような感じです。
・開いた空の「Power Query エディター」がこちらです。
・Power Query エディターは、適用した各変換ステップをバックグラウンドですべて記録します。
・記録は「Power Query M 言語」が使用されており、詳細エディターを使用して変更できます。
・クエリを更新すると、各ステップが自動的に実行されます。Excel でデータを手動で接続・整形する動作を置き換えて実行してくれます。
③ 結合(型抜き/合成)
・追加または結合することで、Excel ブック内の複数のクエリを結合できます。
・追加と結合の操作は、テーブル形式の任意のクエリに対して実行され、元のデータソースとは独立しています。
追加操作
・最初のクエリに 2 つ目のクエリを追加する方法は2種類あります。
中間追加
・追加操作ごとにすべての行を含む新しいクエリが作成されます(クエリの数が増える)
インライン追加
・最終的な結果になるまで、既存のクエリにデータを追加する操作です(クエリ数は増えない)
マージ操作
・マージ操作では、2 つの既存のクエリから新しいクエリを作成します。
・この 1 つのクエリには、プライマリ テーブルのすべての列が含まれます。
・1 つの列が関連テーブルへのナビゲーションリンクとして機能します。
・関連テーブルには、プライマリテーブルの共通列値の各行に一致するすべての行が含まれます。
・関連テーブルの列を展開したり、プライマリ テーブルに追加したりすることもできます。
④ 読み込み(Load)
・クエリを完了し、ワークシートまたはデータ モデルに読み込み、定期的に更新します。
・クエリをExcelブックに読み込むには、主に 2 つの方法があります。
・Power Query エディターでは、[ホーム]タブの [閉じる] グループの [閉じる] コマンドと [読み込み] コマンドを使用できます。(ヘルプの説明)
これもバージョンで違うのかな。私の環境では右のような感じです(^^;
・[Excel ブック クエリ] ウィンドウ ([クエリの選択] & 接続) で、クエリを右クリックし、[読み込み]を選択できます。(こちらもヘルプの説明)
これもバージョンで違うみたいです。私の環境では右のような感じですね。
[データ] →[クエリの表示]で、クエリを右クリックし、[読み込み先]を選択します。
Excel の Power Query の履歴
Power Query (以前のバージョンの Excel でデータを取得& 変換)は、長年にわたり多くの変更が加えられてきたことがわかりました。ヘルプに書いてあるものを抜粋して載せておきます。
Excel 2010 および 2013 for Windows
・最初に Power Query が導入されたのは、Excel 2010 for Windows でした。
・Power Query アドインが無料で提供されたのが最初です。
・Power Query アドインをインストールして有効にすると、リボンに [Power Query] タブが表示され Power Query の機能を利用できるようになります。
・ただし2019年の夏の初めに、このアドインは正式に廃止されました。アドインは引き続き使用できますが、今後変更される場合があります。
Microsoft 365
・データのインポートとクリーンアップを行う Excel の主要なエクスペリエンスとして、Power Query が更新されました。
・Power Query データ インポート ウィザードとツールには、Excelリボンの [データ] タブの [クエリ&変換] グループからアクセスできます。
Windows 用 Excel 2016 および 2019
・Microsoft 365 と同じく Power Query テクノロジに基づくデータ変換エクスペリエンスの取得機能が追加されています。
・ただしバージョンにより、リボンの配置などに違いがあるようです。
Excel for Microsoft 365 for Mac
※注意:Excel 2016 および Excel 2019 for Mac ではサポートされていません。
・2019 年に、Excel for Mac で Power Query のサポートが開始されました。
・それ以降、TXT、CSV、XLSX、JSON、XML ファイルから Power Query クエリを更新する機能が追加されています。
・また、現在のブックのデータ範囲を使用して、SQLテーブルからデータ&更新する機能も追加されました。
・2019年10月に、既存の Power Query クエリを更新し、VBA を使用して新しいクエリを作成および編集する機能が追加されました。
・2021年1月に、OData ソースと SharePointソースからの Power Query クエリの更新のサポートが追加されました。
・詳細については、「Excel for Mac で Power Query を使用する」を参照してください。
いままで使っていなかった理由は
Power Query が強力な機能であることは知ってはいましたが、いままで使わないでいた理由があります。Excel は職場で酷使していますが、次のような職場の状況であるために使用していませんでした。
職場の状況を少し説明しておきます。職場は大規模で閉鎖的なネットワークシステムの中にあります。そのため、外部のクラウドやサービスへのアクセスは出来ないようになっています。しかも、いまだにWindows Explorerが使われているような状況です。自ネットワーク内のクラウドでさえ直接的なアクセスはできません。
こんな環境内ですから、基幹システムやクラウドから出力できるデータは限定的です。仕方なくCSVファイルなどのデータをダウンロードし、それを加工して分析資料を作ったりするわけです。その際に、定型的な作業部分などをVBAマクロで効率化しているというわけです。でもそれも限定的ですので、人事異動などで「できる人」がいなくなってしまうとすぐに元に戻ってしまうというような最悪の状況にあります。
このような状況の中で、時間的な余裕もなかったこともあり、ローカルでの Power Query の利用に手を出せないでいたというのが理由です。
「このままではいけない!」少しづつでも勉強して、活用できるようならなければと思った次第です。
まとめ(おわりに)
・以上、初回の勉強は終了です。いかがでしたでしょうか?
・今回は、サンプルファイルの登録はありません!
・今までの記事のサンプルは登録していますのでよろしければお使いください(^^)
まとめと感想など
Power Query が使えるようになったらカッコよさそうですね!
マクロを使わずに、同様の機能が実現できるならばすごく魅力的ですね。
次回か楽しみです(^^♪
今回は Power Query の概念的なことを知ることができただけなので、次回からは実際に操作しながら「外部データのインポート・接続」についての勉強を進めていきます。はたして、どうなるのか楽しみにしていてね(^^)/
★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★
今後の記事について
今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m
【検討中の今後の記事内容は・・・・・】
・実務に役立つものを提供できるよう常に検討しています(^^ゞ
・その他雑記的に「プチネタなど」もいろいろ考えていきたいと思います・・・・・
・今後の記事にもご期待ください(^^)/
過去記事のサンプルファイルをダウンロードできます
今回の記事のサンプルはありません!
過去の記事で使用したサンプルファイルがダウンロードできるページを設置しています
こちら(このリンク先)からご利用ください
【今回わかったことは】
・Power Query でどんなことができるのかがわかりました
・Power Query エディターの起動方法がわかりました
・Power Query の履歴を知ることができました