今回もエクセルのPower Queryについて紹介します。
前回はせっかく分析をするなら目的をもって分析しましょうということで意識すべき点を少しお話ししました。
M言語(Power Query M Formula Language)
今回はデータ分析というものをもう少し深く実現しようとすると必要になるM言語についてお話しします。正式にはPower Query M Formula Languageなので、M式とも呼んでいる場合もあります。
M言語とは言われてもピンとこないと思いますが、実が皆さんがPower Queryの編集画面でリボンのアイコンをクリックしたり、タイトルを編集したりしている作業は全て、M言語に変換されています。
画面の上のほうに式が入っているので、詳細エディターのボタンをクリックするとそこにM言語で記載された作業内容が書かれており、よく見ると自分が依頼した操作が関数のような形で挿入されていることがわかります。
ほとんどの作業はリボンになるアイコンをクリックすることで、記録されるので上級者でない限り触る必要がないかもしれませんが、知っておくとちょっとした変更で自分が行う作業を楽にすることができます。特にエラーが起きた時の原因追及には内容がわかっていると早く発見できます。
ETL用の関数型プログラム言語
なぜ、Mなのというのはちょっと調べてみましたがわかりませんでした。基本的な機能としてはE(Extract)T(Transform)L(Load)つまり、抽出と変換と読込のためのいろいろな作業を行ってくれるための必要な仕組みがあります。
関数型のプログラム言語なので、VBA(Visual Basic for Applications)に慣れている方だと少し戸惑うかもしれませんね。一番近いのはF#という言語ですが、こちらも馴染みが少ないと思うので新しい言語だと思ってもらったほうがいいかもしれません。
実はPower Queryの上位版というわけではないですが、マイクロソフトのBIツールであるPower BIでも使えるので、データ分析を本格的に行いたい人は学んでおいてにも損はありません。
今回は初心者向きでないので、申し訳ありませんが、こんな風になっているんだと、ざっとでも見てもらえると幸いです。
◆Power Query M 式言語
https://learn.microsoft.com/ja-jp/powerquery-m/
マイクロソフトの公式ページです。クイックツアーから順番に見ていくと概要から詳細までわかります。ただし、何らかの言語を習得していないとピンときづらいかもしれません。
◆Power Query(M言語)入門
https://excel-ubara.com/PowerQuery/
入門と書いていますが、M言語の利用を前提としているので、少しレベルが高いです。とはいえ、実際の操作も入れてくれているので、初心者でも頑張ればわかると思います。
◆Power Queryでよく使う関数
https://qiita.com/k_maki/items/6dd22c81e1f268ec0938
Excel関数と似ているいるようで異なるM言語での関数。その違いを対比してくれているページです。よく使う関数との対比なのでわかりやすいです。
◆M言語-Excellent仕事術
https://analytic-vba.com/category/power-query/m-code/
少し古いですが、M言語をコード構造から順番に理解できるように16回に分けて説明しているページです。言語として勉強したい人には、お勧めのページです。
◆Power Query へそのゴマ
https://qiita.com/spumoni/items/a3bbd2568475cf790673
M言語だけというわけではないですが、Power Queryの応用編を集めた目次ページです。少しM言語がわかってきてから見ると役に立つと思います。