PowerQuery(パワークエリ)とは?
近年、Excelは便利な機能がどんどん追加されています。
このように新しい便利な機能を追加された最近のExcelは「モダンExcel」と呼ばれることもあります。
モダンExcelの便利な機能の中に「PowerQuery」があります。
Excel2016から搭載された機能の一つです。
外部データとの取込、連携や、そのデータの整形・加工といった一連の作業が簡単にできる機能です。取込んだでデータは、PowerQueryエディタで成形・加工ができる。
使いこなすことが、できれば仕事に活かすことができます。
業務によっては、PowerQueryを使えるか使えないかで仕事の効率に大きな差が出てきます。
今回は、PowerQueryでのデータの取込方法を解説します。
これができるようになるだけでも、見える世界が大きく変わります。
PowerQuery(パワークエリ)で取込めるデータ
PowerQueryでは様々なデータを取り込むことができます。
Microsoft365のExcel(2022/8/20現在)で取り込めるデータの一覧を紹介します。データベースの管理をしている人でないと使わなさそうなものも大量にありますが、参考までに全部載せておきます。私も分からないもの多数です。。。
PowerQueryの初心者でも扱いそうなデータを太字にしました。
ファイル
- Excelブック
- テキストまたはCSV
- XMLから
- JSONから
- PDFから
- フォルダから
データベース
- SQL Serverデータベース
- Microsoft Acccessデータベース
- Analysisi Services
- SQL Server Analysis Servicesデータベース(インポート)
Azure
- Azure Data Lake Storage Gen2
- Azure Data Explorer
Power Platform
- データフロー
- Dataverse
その他のデータソース
- テーブルまたは範囲
- Web
- ODataフィード
- ODBC
- OLE DB
- 空のクエリ
PowerQuery(パワークエリ)でのデータ取込
PowerQueryへのデータの取込は下記のメニューからできます。
「データ」→「データの取得と変換」
よく使う取込先はこの画面で表示されています。
これ以外のデータを取込たい時は、「データの取得」から探してください。先ほど紹介したデータの取込みができます。
今回は、「テーブルからの取込」と「Webからの取込」をします。
テーブルからの取込
まずは、テーブルを取込む準備をします。
Excelにはデータをテーブルとして認識させる機能があります。データをテーブルとして認識させた後に、PowerQueryでデータを取得します。
テーブルの例として総務省のホームページで都道府県別の人口の情報を記載されたExcelデータから令和2年の人口のみ抽出しました。
このデータを開くと下記のようなデータが入っています。
各列の見出し、都道府県および人口を選択して
「ホーム」→「テーブルとして書式設定」からお好みのテーブルの書式を選択して下さい(どれでもOK)
下記のような表示が出てくると思いますので、OKを押してください。
こんな感じにテーブルが出来上がります。(選んだ書式によって見た目は変わります。)
出来たテーブルの上のセルを選択すると「テーブルデザイン」というメニューとなります。
テーブル名(ここでは「テーブル1」)がこのテーブルの固有の名称となります。必要に応じて変更してもらっても大丈夫です。PowerQueryで取り込むときに使いますので覚えておきましょう。
少し長くなりましたが、テーブルの取込の準備は終わりました。
テーブル1の任意のセルを選択した状態で「データ」→「テーブルまたは範囲から」をクリックします。
下のように「テーブル1」の情報がPowerQueryエディターに表示されました。。
「閉じて読み込む」をクリックすると「テーブル1」のクエリが出来上がり、Excelのシートに表示されます。
これでデータの取込は終わりです。
これだけだと、少しわかりにくいかもしれませんが、元の「テーブル1」が更新されれば、自動的にクエリの情報を更新されます。
他のテーブルと組み合わせることで、パワフルなデータ処理ができるなどのメリットがあります。PowerQueryのメリットがわかる応用的な使い方は、後日紹介する予定です。
Webからの取込
取込むデータは、東洋経済ONLINEが提供しているコロナウイルスの国内の感染状況のデータです。
厚生労働省の発表のデータをCSVのデータにしてまとめてくれています。こちらのデータをPowerQueryで取り込みます。
まずは、東洋経済ONLINEのコロナウイルスのまとめサイトにアクセスしてください。
ページの下の方に、各種データのCSVのリンクがあります。「陽性者数」のデータを取込んでみましょう。
対象のデータのリンクにカーソルを合わせて、右クリックしてリンクのアドレスをコピーします。
Excelに戻って「データ」→「Webから」をクリックします。
下記のように取込先のURLを入寮くするフォームが表示されるので、先ほどコピーしたアドレスを張り付けて「OK」をクリックします。
下のフォームが表示されるので、読み込みをクリックしてください。
下のようにExcelでWeb上のデータを取込むことが出来ました。
テーブルからの取込は、同じファイル内のデータの取込だったのでメリットが分かりにくかったと思いますが、Webなどの外部データの取込はメリットが分かりやすいと思います。
PowerQueryでデータを取込めば、取込んだCSVのデータが更新されてもExcelでも更新されたデータを扱うことができます。
「データ」→「すべて更新」から「すべて更新」または「更新」をクリックすれば、リンク先の最新のデータを取込むことが出来ます。
PowerQueryを使用せずに必要なデータをコピー&ペーストした場合は、情報が古くなりデータの不一致が生じたり、データのメンテナンスに多くの手間がかかります。
複数のデータを参照し、データの加工を行っている時などにPowerQueryはパワーを大きな力を発揮します。