[初学者へ向けて] Power BI で基本を守る大切さ と 今から学ぶ難しさについて

# はじめに
本記事は [**Microsoft Power BI Advent Calendar 2022**](https://qiita.com/advent-calendar/2022/powerbi) のカレンダー1 - **13日目**の投稿です。

本記事では、今年お仕事でいろんな方へレクチャーなりコンサルをしてきて、今年最もいただいた質問から思ったことを元に、書いておこうと思いました。

# Power BI の初学者向けレクチャーにて
私は仕事で **Power BI** の初学者者向けレクチャーを引き受けています。レクチャーでは、初学者の方が、**Power BI** レポートを一人で作れるようになるために、そのスタートラインに連れていくことを目的としています。**「スタートラインに連れていく」** というのは、今後独力で学習が進められる状態を指します。

レクチャーの中では、私自身の経験から、これを知らないと独力で学習が進められないよなと思う、以下の３つについてお話しています。

1. **スタースキーマ**
1. **日付テーブル**
1. **タイムインテリジェンス**

これらを知っていなければ、業務にて必要なレポートを作れないことになり、組織内にレポートが作れる人がいないことになってしまいます。組織内にレポートを作成できる人がいなければ、全社はもちろん、チーム内でも導入することはできません。実際のレポート作成は外注しても構いませんが、それでも組織内にレポートを作成できる人がいなければ、成果物の受け入れができませんし、メンテナンスもできません。BI として、これは望ましくない状態でしょう。ビジネスは刻一刻と変化します。その変化の速度にタイムリーについていくには、内製可能な状態にリソースを整えておくことが、組織として、正しい状態だと確信しています。

ですので、そういった望ましくない状態にならないように、内製化の第一歩として、レポートを作成できる人を組織の大きさに合わせて、十分な人数揃えておくことが必要です。この観点から、私は初学者向けのレクチャーとコンサルティングを仕事で行っています。

さて、そんな中で今年最も聞かれた質問が以下です。

**「どういった状態ならば、スタースキーマにしなくてもいいんですか？」**
**「日付ベースの分析をするつもりはないので、日付テーブルは作らなくてもいいですか？」**

# スタースキーマは面倒くさい？
もしあなたが今、**「スタースキーマって何？」** という状態であれば、まずは以前私が書いた以下の記事を読んでみてください。

https://qiita.com/yugoes1021/items/12a40a5089fc5b5167c5

公式ドキュメントはこちらです

https://learn.microsoft.com/ja-jp/power-bi/guidance/star-schema?WT.mc_id=DP-MVP-5002429

**スタースキーマ**のポイントは

- ディメンションテーブルとファクトテーブルに分ける
- ディメンションテーブルは一意となる **KEY** とそれに対応する名称や属性値を持たせる
- ディメンションテーブルの例は、商品マスタや従業員マスタなど、いわゆるマスタテーブルを元にすると上手くいくことが多い。**5W1H** の定義を持たせるとよい
- ファクトテーブルはディメンションテーブルの **KEY** を使用して、事実を記録する。企業の場合、最もよい例は売上テーブル。いつ、どこで、誰が、何を、いくつ売ったか。これを記録していく。
- 上記のようにディメンションとファクトに分けたら、**ディメンション : ファクト = 1 : 多** となるように**リレーションシップ**を作成する

ということです。上記の状態になるように、**Power Query** でデータ準備 (**ETL**) をする。データを読み込んだ後、**Power BI Desktop** でモデリングを行っていく。
何度かやっていると、だんだんとポイントがわかってきて、気付いたら、**スタースキーマ**になっているというのが、最初の一歩かもしれません。そこからさらに慣れてくると、どういうデータにしておけば、今必要なスタースキーマが作れるか、と考えるようになります。

さて、上記のような説明をデモを交えて、レクチャーするのですが、レクチャー終わりで前述のような質問はよく出てきます。
最初は不思議でした。

**「えっと...説明聞いてましたか？」**

と何度思ったことか。
でも余りにも何度も聞かれるので、考えてみました。

**なぜ、これらの質問が出てくるのか？**
**自分の説明が悪いのか？**

とも考えました。もちろん、すべての人に伝わるわけではないし、もっとわかりやすい説明をしなければと今でも伝え方を試行錯誤しています。
ですが、やがて気付きました。

**「もしかして、単純に面倒だと思っているのではないか...？」**

そう思ったときに、自分の中でひとつ仮説が成り立ちました。
私がレクチャーをしている方々は、多くの場合、業務担当者です。つまり、技術者ではありません。データソースは **Excel** か **CSV** で、データベースは使ったことがありません。人によっては、**Excel** の代わりに **Power BI Desktop** を使おうと思っています。

彼らからすると、

「これまで **Excel** で自由にやってきたのに、**Power BI** を使おうとすると、そんなにややこしいことを考えなきゃならんのか...」

と思うことでしょう。

そう思ってしまったら、上述の質問が出てくる理由と背景は理解ができます。ただ、それでも受け入れることはできません。**Power BI** はモデルをスタースキーマにすることを前提に作られているからです。そして、スタースキーマを目指すから、日付テーブルの意味も理解ができ、タイムインテリジェンスの概念もわかってくるのです。

断言しておきますが、スタースキーマにしないで、チャート（表やグラフ）を作るビジュアライズを始めてしまうと、後にできないことに遭遇したり、とんでもなく難しい **DAX式** を書いたりしなければならないことになります。つまり、スタースキーマにしない方が後に面倒になるどころか、やりたいことができなくなるということです。

やはり、**何事においても先に汗をかいておく必要がある**ということです。

ではどうやって学んでいけばいいのでしょうか？
スキルは個人に紐づくものですから、学習は自分で進めるしかありません。
Web で検索すると、様々な記事が出てきますが、やはりまずは一次情報である公式ドキュメントを読むべきです。

# 今から Power BI を始める難しさ
2022年現在、今から **Power BI** を学ぼうとする場合、とても難しいだろうなぁと思います。

まず最初に言っておきたいのは **Power BI** は簡単ではないということです。たまに **「Power BI は簡単に使える」** というセリフを耳にしますが、これは明確に否定をしておきます。**Power BI** を適切に使用するには、適切な学習が必要です。そして学習には時間がかかります。なんとなく使っていれば、使えるようになるものではないということです。

ただ、IT技術者のみが使えるというものでもありません。非技術者（＝業務担当者）の方でも、適切に時間をかけて学習すれば、必ず使えるようになります。

**Power BI** は 2015年にサービスとしてリリースされましたが、当時は、今と比較して、機能はとても少ないものでした。覚えるべきことも少なかったのです。それから7年を経て、今ではひとつの **SaaS** として、とても大きなサービスになっており、現在でも拡大が続いています。

もちろんそれだけ時間が経っているのですから、リリース当初の数年と比較すると、公式ドキュメントはとても充実しています。

https://learn.microsoft.com/ja-jp/power-bi/?WT.mc_id=DP-MVP-5002429

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/0e83d9ea-d12f-7f0f-b756-37bfec2005df.png)


Power BI の公式ドキュメントは ↑ が入口です。
それぞれのテーマ別にタイル状に分類されています。充実しているということは、それだけ数が多く、学ぶべきことも多いということです。また、各ロール向けに内容が分かれているのも事実です。

https://learn.microsoft.com/ja-jp/power-bi/fundamentals/power-bi-overview?WT.mc_id=DP-MVP-5002429#how-power-bi-matches-your-role

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/0399440b-f01f-3f1a-c863-663debe57c65.png)

ご覧になってわかる通り、

- ビジネスユーザー
- レポート作成者
- 管理者
- 開発者

に分けています。そしてそれぞれのロール用に **Microsoft Learn** の中の公式ドキュメントが分かれています。とはいっても、おそらく皆さん、知りたいことを Google 等で検索して、公式ドキュメントに辿り着くことでしょう。辿り着いたそのページがどのロール向けで何をテーマにしたページなのか、意識をする必要があります。

これを判断するには **URL** の以下の部分を見てください。

```
https://learn.microsoft.com/ja-jp/power-bi/{この部分}/
```

例えば、先ほどの [公式ドキュメントのトップページ](https://learn.microsoft.com/ja-jp/power-bi/?WT.mc_id=DP-MVP-5002429) のタイルの左上でいうと以下のようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/1e3bbf20-e803-08b3-46ff-76d4ebdab2f5.png)

1. [https://learn.microsoft.com/ja-jp/power-bi/fundamentals/](https://learn.microsoft.com/ja-jp/power-bi/fundamentals/?WT.mc_id=DP-MVP-5002429)
1. [https://learn.microsoft.com/ja-jp/power-bi/consumer/](https://learn.microsoft.com/ja-jp/power-bi/consumer/?WT.mc_id=DP-MVP-5002429)
1. [https://learn.microsoft.com/ja-jp/power-bi/developer/](https://learn.microsoft.com/ja-jp/power-bi/developer/?WT.mc_id=DP-MVP-5002429)
1. [https://learn.microsoft.com/ja-jp/power-bi/connect-data/](https://learn.microsoft.com/ja-jp/power-bi/connect-data/?WT.mc_id=DP-MVP-5002429)

上記の **URL** は画像の番号の **[詳細情報]** というリンクの内容です。
ご覧になってわかるように、**~/power-bi/** の次の部分が、各ページの内容を表しています。これら4つは Power BI の公式ドキュメントの一部のカテゴリーです。
2022年12月現在で数えたところ、14種類のカテゴリーに分類されています。

1. Power BI の基本：
[https://learn.microsoft.com/ja-jp/power-bi/fundamentals/](https://learn.microsoft.com/ja-jp/power-bi/fundamentals/?WT.mc_id=DP-MVP-5002429)
1. エンドユーザー向け： 
[https://learn.microsoft.com/ja-jp/power-bi/consumer/](https://learn.microsoft.com/ja-jp/power-bi/consumer/?WT.mc_id=DP-MVP-5002429)
1. エンタープライズ：
[https://learn.microsoft.com/ja-jp/power-bi/enterprise/](https://learn.microsoft.com/ja-jp/power-bi/enterprise/?WT.mc_id=DP-MVP-5002429)
1. 管理者向け：
[https://learn.microsoft.com/ja-jp/power-bi/admin/](https://learn.microsoft.com/ja-jp/power-bi/admin/?WT.mc_id=DP-MVP-5002429)
1. 開発者向け：
[https://learn.microsoft.com/ja-jp/power-bi/developer/](https://learn.microsoft.com/ja-jp/power-bi/developer/?WT.mc_id=DP-MVP-5002429)
1. データ接続：
[https://learn.microsoft.com/ja-jp/power-bi/connect-data/](https://learn.microsoft.com/ja-jp/power-bi/connect-data/?WT.mc_id=DP-MVP-5002429)
1. データモデリング：
[https://learn.microsoft.com/ja-jp/power-bi/transform-model/](https://learn.microsoft.com/ja-jp/power-bi/transform-model/?WT.mc_id=DP-MVP-5002429)
1. レポート作成：
[https://learn.microsoft.com/ja-jp/power-bi/create-reports/](https://learn.microsoft.com/ja-jp/power-bi/create-reports/?WT.mc_id=DP-MVP-5002429)
1. コラボレーションと共有：
[https://learn.microsoft.com/ja-jp/power-bi/collaborate-share/](https://learn.microsoft.com/ja-jp/power-bi/collaborate-share/?WT.mc_id=DP-MVP-5002429)
1. モバイルアプリの Power BI：
[https://learn.microsoft.com/ja-jp/power-bi/consumer/mobile/](https://learn.microsoft.com/ja-jp/power-bi/consumer/mobile/?WT.mc_id=DP-MVP-5002429)
1. ベストプラクティスのガイダンス：
[https://learn.microsoft.com/ja-jp/power-bi/guidance/](https://learn.microsoft.com/ja-jp/power-bi/guidance/?WT.mc_id=DP-MVP-5002429)
1. ラーニングカタログ：
[https://learn.microsoft.com/ja-jp/power-bi/learning-catalog/](https://learn.microsoft.com/ja-jp/power-bi/learning-catalog/?WT.mc_id=DP-MVP-5002429)
1. トラブルシューティング：
[https://learn.microsoft.com/ja-jp/power-bi/troubleshoot/](https://learn.microsoft.com/ja-jp/power-bi/troubleshoot/?WT.mc_id=DP-MVP-5002429)
1. サポート
[https://learn.microsoft.com/ja-jp/power-bi/support/](https://learn.microsoft.com/ja-jp/power-bi/support/?WT.mc_id=DP-MVP-5002429)

こういった公式ドキュメントのサイトマップ（サイト構成）を把握しておくと、学習の一助になるのではないかと思います。

# 最後に
繰り返しになりますが、**Power BI** は簡単ではありません。とても難しく、学ぶべきことも多岐に渡ります。技術領域のみならず、ビジネスやデザインを学ぶ必要があります。組織内に導入するには、リーダーシップの取り方、社内コミュニティの立ち上げも検討事項です。テクニカルアーキテクチャのみならず、ビジネスアーキテクチャも検討しなければならないということです。

当然、ひとりでできることではありません。組織内でチームを作り、組織横断で権限を持つ人の協力が不可欠です。なんせ BI (ビジネスインテリジェンス) ですから。それが BI だと思うのです。

## P.S.
もし皆さんが冒頭の初学者向けレクチャーをご所望であれば、遠慮なく、ご連絡ください。
Qiita のプロフィールページ左上から各種 SNS にてご連絡をいただければ幸いです。

https://qiita.com/yugoes1021

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/e9c9c081-53ed-6ca9-b9fb-8074e62f596a.png)