テクテク日記

テクテク=テクノロジー&一歩ずつ(テクテク)

Power Query -いきなりデモ

前回は「Power Queryについて」について紹介しましたが、今回は更に詳細に見ていきます。本来は基礎から解説していくのが定石ですが、本ブログでは可能な限り実務的な情報を発信していきたいと思いますので、実用的な使い方から先に紹介したいと思います。触ったことがない方でも簡単にできますので、ぜひ手順に従ってやってみてください。

Power BI Desktopのインストール 

Power Query(パワークエリ)はExcelとPower BIの両方で使用可能であり、本デモは後者のPower BI Desktop(以降「Power BI」)を使用します。Power BIはMicrosoft社のBIテクノロジーの結晶が詰まったBIツールであり、まだインストールされていない場合、下記よりダウンロードしてください。

powerbi.microsoft.com

リンク先を開くと、「無料ダウンロード」と「ダウンロードまたは言語のオプションを表示する」の2つの選択肢が現れますが、「無料ダウンロード」を選択し、(Windows 10であれば)Windows Storeのインストールボタンをクリックして手順に従ってインストールをしてください(Windows Store経由でインストールすれば、Power BIは今後、常に最新の状態に自動更新されます)。

f:id:marshal115:20200416220550p:plain

なお、「ダウンロードまたは言語のオプションを表示する」を辿ってインストールすることも可能ですが、こちらは言語別にダウンロードできるオプションがある代わり、Power BIのバージョンは自動的に更新されないので、その都度新しいバージョンにアップデートしてあげる必要があります。現在のパソコンは全て64bit仕様ですので、下図の通り、64bit版Power BIを選択してください。

f:id:marshal115:20200416221622p:plain

Power BIの初期設定

実際に作業に入る前に、Power BIのインストールが完了したらPower BIを立ち上げてください。すると下図のような画面が現れますので、①の下にある×ボタンをクリックし、いったんこの画面を閉じます。

f:id:marshal115:20200416222820p:plain

ここでPower BIを使っていくに際していくつか重要な設定を行いますが、

  1. ファイル
  2. オプションと設定
  3. オプション

という順番でクリックしてください(下図)

f:id:marshal115:20200416223839p:plain

オプションボックスが開くので、下図のように設定してください。

f:id:marshal115:20200416223849p:plain

f:id:marshal115:20200416223854p:plain

プライバシーレベルは外部データソースと通信を行う際に、Power BIが一部のデータを外部に送信してしまわないよう、セキュリティレベルの管理を行うために存在するものですが、セキュリティレベルが高いほど、データ取得速度が遅くなったり、クエリを結合したりする際にFormula.Firewallと言われるエラーメッセージが出現する原因となりますので、ここでは「常にプライバシーレベル設定を無視する」に設定してください(解説だけ見ると恐ろしいことが起こる印象ですが、実際には問題になったという話を聞いたことがありませんのでご安心を)。これで基本設定が出来ましたので、いよいよPower Queryが使えるようになります。

Power Query専用サイト

英語になりますが、Power Queryには専用サイトが存在します。

powerquery.microsoft.com

英語に抵抗のない方はぜひ、サイト全体を見てみてください。リソースハブ(情報源)ですので、Power Queryの基本から参考書(こちらも全て英語)まで、様々な有益な情報が載っています。

Power Queryの凄いところの1つが多くのデータソースに接続できることであり、今回の目的は

接続可能なデータソースをPower Queryで全て抽出する

ことです。

ここでの「接続可能なデータソース」とはPower Queryの専用サイトに記載のあるデータソースであり、下図のような形式で表示されています。

f:id:marshal115:20200417230211p:plain

接続可能なデータソースの抽出

ここで先ほど設定を行ったばかりのPower BIを使っていきます。手順は以下の通り

  1. 参照先URLをコピー(下記)
  2. Power BIの「データを取得」> 「Web」をクリック
  3. URLをペーストし、データ取得が可能なテーブルを表示
  4. 「例を使用してテーブルを追加」機能でデータを取得
  5. 集計結果のチェック

1つずつ、図説しながらやっていきます。

1. 参照先URLをコピー

https://powerquery.microsoft.com/en-us/connectors/

上記URLをコピー

 

2. Power BIの「データを取得」> 「Web」をクリック

Power BIからいよいよデータを取得するのですが、その前にリボンの切り替えについて紹介します。リボンは上部の操作アイコンの集合ですが、下図のように、コンパクトモードと通常モードの両方があります。切り替えの位置が非常に分かりにくいですが、一番右のほうにある▲▼で切り替えられます。

f:id:marshal115:20200416232529p:plain

これを踏まえ、通常モードから下図のような操作を行います。

f:id:marshal115:20200417001444p:plain

 

3. URLをペーストし、データ取得が可能なテーブルを表示

f:id:marshal115:20200417001505p:plain

 

4. 「例を使用してテーブルを追加」機能でデータを取得

f:id:marshal115:20200417001528p:plain

f:id:marshal115:20200417004746p:plain

f:id:marshal115:20200417004809p:plain

f:id:marshal115:20200417004903p:plain

f:id:marshal115:20200417004915p:plain

f:id:marshal115:20200417004933p:plain

f:id:marshal115:20200417004945p:plain

f:id:marshal115:20200417005010p:plain

ここまでくればあと一息。

f:id:marshal115:20200417005027p:plain

f:id:marshal115:20200417005241p:plain

無事、必要なデータがPower BIの中に読み込まれました。最後はExcelでPivotテーブルを作るように、クロス集計で抽出された「接続可能なデータソース」を確認してみる。

f:id:marshal115:20200417005259p:plain

f:id:marshal115:20200417005909p:plain

f:id:marshal115:20200417005935p:plain

f:id:marshal115:20200417005954p:plain

f:id:marshal115:20200417010013p:plain

f:id:marshal115:20200417010029p:plain

f:id:marshal115:20200417010530p:plain

f:id:marshal115:20200417010548p:plain

 

5. 集計結果のチェック

f:id:marshal115:20200417010603p:plain
これにより、「接続可能なデータソース」がMicrosoftの公式ページで125種類あることが分かった。この数が多いか少ないかはさておき(多分非常に多いと思うが)、Webから実に簡単にデータを取得することが可能であることが重要で、Power Queryのポテンシャルを披露できたのではないかと思います。

なお、上記テーブルではどうしても見づらいという意見もあるだろうから、少しお化粧してあげると下図のようになります。どうやら、今回使った「Webページからデータをインポートする」というコネクタは、ソース分類だと「Other」扱いになっているようです。

f:id:marshal115:20200417013620p:plain

まとめ

今回の記事はPower Queryで何ができるかを紹介するためのものでしたが、これはほんの一例にすぎません。また、今回のように外部データに接続した際、データソースがテーブル形式であれば殆ど加工の必要はないが、ExcelCSVといったファイル形式のデータはそうもいきません。

一方で、Power Queryは操作性やUIが優れているため、Excelに慣れている方であれば問題なく入門できると思いますので、ぜひいろいろとご自身で試してみてください。