最後の Power BI Desktop の学び 101 #JPPUGSummer20

2020-07-04 Japan Power Platform Day Summer '20 というオンラインのコミュニティイベントがありまして、小一時間ほど Power BI についてお話したので、まとめというか補足というかスライドを公開しないのでその代わりみたいなものです。

[Power Platform Day Summer '20 - Become a CITIZEN DEVELOPER](https://power-platform.connpass.com/event/178495/)

いくつかのトピックに絞ってお話してみたのだけど、今回は初心者向けにしようかなと思って、"最後の Power BI Desktop の学び 101" というタイトルにしてみた。"最後の" というのは特別重要な意味はないのだけど、コミュニティイベントでいつまでの初心者向けの話をしていても私のレベルが上がっていかないので、最後にしようかなと思っただけ。で、どんな話をしようとしたかというと、

- Power BI Desktop は常に最新で
- 応用から始めない
- テーブルひとつだけっていうのは絶対ダメ
- メジャーを必ず定義する
- データソースのことも勉強する

データソースのこと... については時間が余ればと思っていたので割愛した。

普段は Power BI のことを伝えたり、レポートってどうやって作るの？とか Power BI の運用は？といった方面のお仕事をしています。で、さぁ始めるぞというとき、まずは Power BI Desktop を使ってそもそも的なところからやってみましょうとなるんですよね。で、その現場であったり コミュニティイベント であったり、様々な "学ぶ現場" みていると、みなさんとっても苦労しているよねと。
なぜかなぁと振り返ると、これは仕方がない、だれでもこうなってしまうよね。だって、手順多いしむずかしいんですもの。

Power BI Desktop で レポートを作成しようとするとき、欠かすことができないタスクがあって、

1. データの取得
2. モデリング
3. ビジュアライズ

大きくわけて 3つで その順番がとても重要。Power BI は **データモデル ベース の BI ツール**だから。とはいえ、これから始めようとする人達に事細かに小難しい説明をし理解を求めるのは無理筋なのかも。

- 程よい ビジュアライズ には 程よい モデリング が必要
- 程よい モデリング には 程よいデータの取得 が必要

という状況に最低限なってほしいのだけど、DAX わからん っていって モデリング をすっ飛ばして ビジュアライズ に臨んでしまって逆に苦労するってこと多いかなと。
で、DAX とか ビジュアルをどう勉強するかって話は、Power BI 勉強会などでちょっと取り上げようかなと思っている。

以下、イベント当日話したことや話したかったこと補足したいこと メディックで対応したことなど。

# Power BI Desktop は常に最新で
このやりとりは繰り返しになっているのだけど、Power BI Desktop は 常に最新のものを使うようにしてください。古いバージョンのまま使えますかって質問はよくあるけど、ぶっちゃけ "知りません" という回答になる。お仕事であればとうとうと"それはできませんよ"と説明しますけどね。
かつて、Winodows OS や Microsoft Office は Service Pack 1 が リリースされてからが本番だよね ということはあったと思いますが、いまそんな時代ではないですよね。Power BI Desktop についても同じです。新しいサービス / 製品ですから。

**メディックでの質問**
Q. Power BI Desktop で データに関してセキュリティを適用したい。
A. できない。Power BI Desktop で RLSなど設定を行い、Power BI Service でセキュリティを適用するから。

=あとから=
Power BI Desktop は Power BI のコンパニオンアプリケーションであり、Power BI レポートを作成するという目的のみと理解すべきでしょう。Power BI Service で使用する 主要な要素 Power BI データセット / レポート に加え、データの取得(Power Query) / セキュリティ設定すべては、Power BI Service で使用するときに初めてすべてが機能します。


# 応用から始めない
ほんと不思議なんだけど、いきなり DirectQuery モードで始めてつまずく人が多いです。Power BI 始めるよー っていう場面では、必ず **インポート モード から始める**ことです。

Power BI Desktop で レポート作成するため、データソースから集計されるデータを集めていくわけですが、基本となるのが インポート モード です。DirectQuery / ライブ接続 などモードがあって、その選択にはそれぞれメリットがある。だけど、制限もあるのです。その制限を知るためにも インポート モードでどのようなことができるのかをわかっておいた方がよいのにねと思うのです。

[Using DirectQuery in Power BI - Power BI | Microsoft Docs](https://docs.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about)

いきなり読んだら難しいけれども、インポート モード とは？が把握できていれば理解できるはずの内容です。

# テーブルひとつだけっていうのは絶対ダメ
常に検算していて間違いがないことを確約できるというならどうぞご自由に。最悪のシナリオは、**期待する集計がされておらず、それに気づかない**ことです。なので、勉強し始めた/ 勉強している最中というならば、テーブルひとつだけというのはやらない方がよいし、この先 レポートを作り続けるにしても守った方がよい習慣になるはず。

[Understand star schema and the importance for Power BI - Power BI | Microsoft Docs](https://docs.microsoft.com/en-us/power-bi/guidance/star-schema)

スタースキーマというのが ゴールデンルール なんですよね。ディメンジョン テーブル と ファクト テーブル といってそれぞれ 同じテーブルというオブジェクトではあるけれども、役割が異なるのです。データの取得 で遂げる目標として、どのようにデータを取得し整理していくかということになろうかと。

そしてリレーションシップ は 1対多 (One-to-Many) 一択です。勉強を始めるときには特に。この先多くの場合で  1対多 (One-to-Many) で解決できるでしょう。パフォーマンスが一番よいとか重要な理由はほかにもありますが、モデリング とくに メジャー(DAX)の勉強することに大きく影響するので、この選択をおススメ。

セッション中で深く取り上げなかったけれども、リレーションシップ のクロス フィルタは 一方向 にするというのは良い習慣です。ビジュアルの挙動のためだけに双方向を選択してはいけない。

# メジャーを必ず定義する
Power BI を勉強するぜっていうとき、間違いなく最難関だと思う。なので、データの取得 → モデリング → ビジュアライズ という一連の流れで学びつつも、モデリング については工夫をして学ぶとよいのでは？と思っていて、自らの習慣でもある。

自分用のテンプレートファイルを用意する。
Power BI Desktop の 機能で "データの入力" というのがありまして、データの取得 というとき、データソースから読み込んで整形するということになるんだけど、データを埋め込むことができるんですよね。永続的なデータで固定して利用できるものについては、データソースを用意することがないのです。いちどに読み込めるデータ量には制限があるけれども 頑張って Power Query の記述をすればよいだけ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193509/c613d101-95fa-fc4a-e567-a9f611d98b26.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193509/934fcba6-2d9f-dca2-0876-9d977ca38261.png)

このあたりの使い方とか作り方などは、Power BI 勉強会でやろうかなと思っているので、ぜひ参加などしてみてください。

# 思ったこと🙄
セッション中でも何度か述べたんだけど、みんなできてないですから、安心して勉強を続けてくださいというお気持ち。イベントの感触として 初心者向けの内容としたけれども、Power BI 勉強会では 容赦なく難しくしていきたいね。なので、続編は Power BI 勉強会 にて。

# その他
- [Power BI 勉強会 - connpass](https://powerbi.connpass.com/)
- [Power BI Desktop を使い始めるには](http://qiita.com/PowerBIxyz/items/6c4735cb5b5712e70981)
- [Excel で Power Query を使い始めるには](http://qiita.com/PowerBIxyz/items/52e563037b855a099ca9)