1. Power Queryはノーコードツール
Power Queryに書かれた書籍や記事は、ほとんどGUIの操作について書かれています。大体のことは、GUI出できてしまいます。
従って、GUIの操作1つ1つを解説する書籍や記事を読めば、何となく使えるようになっていきます。
しかし、実際に問題にぶつかった時、どの方法を使って良いのかわからない、あるいは良くない選択をして行ってしまう場合がでてきます。GUIだけでは、実装機能が制限されてしまい、非常に非効率的な処理を行ってしまうことがあります。
2. Power Queryはローコードツール
そこで、Power Queryの詳細エディタを開いて、コードを書く方法を覚えることが重要になってきます。
しかし、Power QueryのM言語について学ぶには、参考になる日本語の書籍は見当たりません。英語のドキュメントにを読むことに不安だったりします。いざ、プログラミングを行っても、エラーばかりでなかなか進まなかったり、覚えることが多すぎて手に負えないと感じるでしょう。
M言語は、関数型言語です。VBAなどのような手続き型言語とは、動作の仕組みが異なっています。
3. Power Queryは関数型言語
関数型言語は、以下のような特徴があります。
- 関数型言語は、変数の状態を変更しないので、信頼性が高い
- 関数型言語は、関数を他の関数の引数や戻り値として使うことができる
- 最適化が十分に機能する
習得するには、まず基礎となるデータ型について学ぶ必要があります。その後、関数の基礎を少しずつ身につけるようにします。
最初から完璧を求めるのではなく、まずはGUIで作成されたコードを見て、変更してみるなどから始めるのが良いでしょう。
4. Power QueryはETLツール
ETLとは、データベースなどに蓄積されたデータソースから必要なものを抽出(Extract)、目的に応じて変換(Transform)、データを必要とするシステムに格納(Load)することを指します。
抽出では、可能な限り少ないソースを利用するよう設計するのが理想です。
変換では、目的とするデータの構造となるよう、フォーマットの変換、構造の変更、意味的変換、重複排除、並べかえなどを行います。
そして、最後に取り込みを行います。
5. データの取り扱い
データがどこから来たのか、正確に把握しておくことが大切です。データの品質を示す、明確な基準を持っていなければ、出来上がったデータの信頼性が保証できません。
また、どの様に変換したのか把握しておくことも大切です。正しい手順で変換されたのか、第三者が検証できる必要があります。
そして、元のデータを直接変更することは避けなければなりません。変換前のデータが再取得可能になっていないと、変換後の検証ができません。また、変換作業に問題があったり、変更する場合、やり直すことが難しくなります。
6. 変換後のデータ構造
変換作業を通して、どのようなテーブルを作成するかは、すべての作業を通して非常に重要な問題です。
正規化されていないデータは正規化したり、正規化されたデータは非正規化する作業があります。
ファクトテーブルやディメンションテーブルの知識は、最低限必要です。そして、スタースキーマというデータ構造についての理解を進めてください。
学習用リソース
1. Power Queryはノーコードツール
2. Power Queryはローコードツール
3. Power Queryは関数型言語
4. Power QueryはETLツール
5. データの取り扱い
6. 変換後のデータ構造