Power Query for ExcelをMySQL(Redmine)に接続

今朝ダウンロードした「Microsoft Power Query for Excel」(以下、Power Query)をインストールしてみました。インストール自体は、ウィザードに従ってクリックするだけなので、とても簡単でした。

その後、MySQL(Redmine)にも接続してみましたので、その手順を紹介します。

 

スポンサーリンク

クエリ エディターの起動

Excelを起動すると、[POWER QUERY]メニューが追加されていました。

 

MySQL(Redmine)に接続してみます。[POWER QUERY]メニューから[その他のソースから]の[ODBCから]をクリックします。

 

データベースへの接続文字列の入力を求められます。「Microsoft Query」であればウイザードが助けてくれるところですが、これはいきなりハードルが高めですね(汗)

「Microsoft Query」で接続した時のプロパティを参考に、次のように入力して[OK]ボタンをクリックしてみます。

Driver=MySQL ODBC 5.3 Unicode Driver;SERVER=localhost;DATABASE=bitnami_redmine;PORT=3306

 

 

ユーザー名とパスワードを入力して[接続]ボタンをクリックします。

 

ナビゲーターが起動するので’bitnami_redmine”issues’を選択してみたところ、プレビューの評価でエラーが発生してしまいました…

 

「Microsoft Query」からはいつも通り接続できるので、テーブル自体に問題があるとは思えません。エラーは、うまくプレビューできないことが原因なのでしょうか?

試しにプレビューする必要がないよう、SQLステートメントで直接指定してみます。

 

『クエリ エディター』が起動しました!

ずらりと並んだ機能が「ETLツール」っぽいですね。左から順に「クエリの一覧」「そのクエリで抽出されるデータのサンプル」「クエリの設定」が表示されています。

 

抽出する列の絞り込み

Redmine内部のフィールド(root_id, lft, rgt)を、抽出対象から削除してみます。サンプルから削除したい列を選択して、[ホーム]メニューの[列の削除]をクリックすると削除できました。

Excelシートの感覚で操作できるのは、とても良いですね(^^)

 

列が消えると、適用したステップに「削除された列」が追加されました。クエリへの操作は、ここにステップとして記録されるんですね。

 

レコードのフィルタリング

抽出するレコードを、今年作成されたチケットだけにしてみます。これもExcelシートの感覚で操作できます。[created_on]の右横のフィルターマークをクリックして、[日付フィルター]の[年]の[今年]をクリックします。

この操作だけでフィルタリングされ、今年作成されたチケットだけになりました。

 

クエリの数式を表示

また、[ホーム]メニューの[詳細エディター]をクリックすると、クエリの設定が数式で表示されます。このエディターで、直接、クエリを編集することもできるんですね。

 

数式には、見慣れない関数がたくさん使われていますが、これらの数式については、次のページに解説を見つけました。ただ公開されて日が浅いためか、一部、リンク切れのページもありました。

Power Query - 概要と学習
最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 お客様にとって役立つ情報であったかどうかを...

 

Excelシートへの読み込み

クエリの編集が終わったら、[ホーム]メニューの[閉じて読み込む]をクリックして、Excelシートにデータを読み込みます。

 

読み込みが終わると、次のようにExcelシートにデータが展開されました。

 

まとめ

Power Queryも、Microsoft Query同様、MySQL(Redmine)に接続できます。

Microsoft Queryがクエリ編集に特化した外部ツールなのに対して、Power QueryはExcel上のユーザー操作からクエリが生成されます。

今回は、クエリエディターの「抽出する列の絞り込み」と「レコードのフィルタリング」だけで記事にしましたが、複数のクエリをマージすることで、より複雑な抽出もできることがわかりました。

Accessに慣れているので「Microsoft Query」も捨てがたいのですが、ETLツールとしての「Power Query」にも興味があるので、積極的に使っていきたいと思います。

 

タイトルとURLをコピーしました