[Power BI Tips] Power BI でリアルタイムアンケート ～ アンケートを即可視化 2020年版 Vol.2～

# はい、前回からの続きです
本記事は前回 **[[Power BI Tips] Power BI でリアルタイムアンケート ～ アンケートを即可視化 2020年版 ～](https://qiita.com/yugoes1021/items/ea4c96cec9f1c7e47347)** からの続きです。以降、前回と言ったら、 **[この記事](https://qiita.com/yugoes1021/items/ea4c96cec9f1c7e47347)** のことです。

ちなみに前回の記事ですが、6 月 14 日 午前 8 時に公開して、本日 6 月 17 日 午前 10 時 時点で 4171 Views となっています。ありがたき幸せです。
やっぱり**「リアルタイム」**という言葉には魅力があるようです:stuck_out_tongue_winking_eye:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/4fa3e49f-565f-1959-661b-27e089a24b30.png)

# あれ？前回で完結したんじゃないの？
はい、いちおう完結しています。試された方はわかると思いますが、きちんとリアルタイムアンケートが **Power BI** のダッシュボードを利用して可視化できたはずです。
実は前回の記事に入れようと思って、入れなかった内容があります。入れなかった理由はすごくシンプル。

**「長くなり過ぎたから:joy:」**

参考までに前回の記事を書くのに大体 **10 時間**くらいかかっています。あれくらい丁寧に画面キャプチャを取って、ペタペタしていくと、それくらい時間がかかります。また、私は基本的に初心者の方～上級者の方のどんな方が見ても、可能な限り伝わることを心掛けています。そうすると、各種表現だったり、細部の言い回し等、結構気を付けなきゃいけなくて、ですね😅

なので **「途中で疲れちゃった」** から入れなかったというのがもう一つの理由です。これ結構大事でですね、書くのに疲れたってことは、読んだり試したりする人にとって、分量が多過ぎる可能性があるわけですね。

なので、自分が疲れたという感覚は結構頼りにしてたりします。

# で、その内容とは？
実は「2020年版」と言っておきながら、2017年版の焼き直しが前回の内容です。2017年当時できなかったことが、現在はできるので、今回はその内容です。
公式のドキュメントで言うと、以下になります。

**Power BI Desktop から Power BI サービスのデータセットに接続する**
https://docs.microsoft.com/ja-jp/power-bi/connect-data/desktop-report-lifecycle-datasets

簡単に言うと、既存の **Power BI Service** 上の データセット に **Power BI Desktop** から接続して、データセットを再利用できるということです。
今回は前回のアンケートで作成したストリーミングデータセットに接続しますが、通常のレポート (pbix) を発行して作成されるデータセットにももちろん接続可能です。
詳細は上記のドキュメントを一読してみてください。

前回の文脈に戻して話すと、これの利点は、レポートの表現力です。前回の記事では **Power BI Service** 上でレポートを作成していました。既に **Power BI** をお使いの方はご存知だと思いますが、**Power BI Service** 上でレポートを作成すると、画面上でフル機能が使えません。

例えば、

- カスタムビジュアルが使えない
- メジャーが作れない
- 画像を入れることができない

などです。

また、**Power BI desktop** でレポートを作成するということは **pbix** ファイルを作成することになるので、レポートのコピーも可能です。
アンケート項目はそのまま、つまりデータセットもそのままで、レポートのみ別のイベントで使いたい。なんてこともできるのです。

ということで、ここからは前回の記事の続きとして書きますので、まだ試されていない方は、前回の記事からスタートして、戻ってきてください！

# 本題、スタート！
まずは **Power BI Desktop** を起動します。
え？まだインストールしてない？
はい、以下からダウンロードして、インストールしてください。方法は二つ。自分でインストーラを DL してインストールする。もう一つは Microsoft Store でアプリを検索してインストールする。違いは月1回あるアップデートを手動で当てるか、自動で当てるか、です。毎月のアップデートを手動で反映するのが面倒な人は Microsoft Store 版でインストールしてください。

インストーラをダウンロード → https://www.microsoft.com/ja-JP/download/details.aspx?id=58494
Microsoft Store → https://www.microsoft.com/ja-jp/p/power-bi-desktop/9ntxr16hnw1t?activetab=pivot:overviewtab

え？使ってるマシンが Mac ですって？
はい、**Mac 版の Power BI Desktop** はないので、あきらめてください。ないものはどうしようもないので、潔くあきらめましょう。

さて、**時を戻そう**:sunglasses:

## Power BI Desktop を起動したら
**[データを取得]** - **[Power Platform]** - **[Power BI データセット]** - **[接続]** とクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/e9bd70c3-69ed-5eff-8f6b-f7c015ea75bf.png)
余談ですが、Power Platform というグループに **Power BI データフロー、Common Data Service、Power Platform データフロー** があるのは興味深いですよねー。
今度別の記事で気が向いたら、触れてみたいと思います。

前回作成したデータセットを選んで **[作成]** をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/3de55049-0530-0d13-54a0-818f50d100dc.png)
あっさりと接続が完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/d0d1a2bd-ec01-81a9-3a3e-68e45052ffbe.png)
**[フィールド]** を見ると、ちゃんとテーブルと列が認識されてますね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/5ad0f49c-31ac-6d3b-6451-d5d314777cbc.png)
そして今月（2020年6月）のアップデートでライブ接続でも **モデルビュー** が使えるようになったので、モデルビューが表示されています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/bfd4bac8-e616-5711-d28c-bbc64d2272ac.png)
モデルビューがライブ接続でも使えるようになったよーっていう公式ブログは以下を参照ください
Model view enabled for live connect (preview)
https://powerbi.microsoft.com/ja-jp/blog/power-bi-desktop-june-2020-feature-summary/#_Model_view_enabled
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/4ddccdc7-c0e9-ec1a-2c96-eac1bca0b44d.png)
モデルビューを開くと普通に表示されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/19730490-5f82-6fc8-833b-b8c2375caf6e.png)

もっとも、この方法で接続できるデータセットはひとつだけで、ストリーミングデータセットにはテーブルがひとつしか含まれていないので、リレーションは作成できません。
**Power BI Service** の **API** を使用して、**データセット** を作成して、これまた **API** を使用してそのデータセットに **テーブル** を複数作成すれば、この方法でデータセットに接続した場合、リレーションを **Power BI Desktop** で管理できるはずです。まぁ **API** でリレーションも作成できるので、そこまでできる人はこっちでリレーションを作成することはないかもしれませんが、それでもそれを見ることができるというのは、イメージがしやすくて、非常によいですね。

## 各種ビジュアルを作成する前に
各種ビジュアルを作成する前にちょっと準備をしましょう。Power BI Service ではできなかったことです。
まずは回答者数です。前回は **[日時]** のカウントで賄いましたが、Power BI Desktop ではメジャーが作れるので、純粋にテーブルの件数を数えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/208047a4-a446-5801-dc24-936fc80aeb39.png)
**RealTimeData** というテーブル名の右にマウスを持っていって **[・・・]** をクリック。
表示されたメニューで **[新しいメジャー]** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/a789f5c3-b581-e060-e2cf-29aa842543e7.png)

```DAX:回答者数.dax
回答者数 = COUNTROWS(RealTimeData)
```
↑ のように入力してメジャーを作成します。
前回は **Power BI Service** で **[日時]** のカウントを指定しましたが、あの場合は内部的に **COUNT( RealTimeDate[日時] )** と **COUNT** 関数が使用されます。
ですが、以下の記事にあるように **COUNTROWS** 関数の方が適切です。なお、今回の場合は結果は変わりません。

**DAX:COUNT の代わりに COUNTROWS を使用する**
https://docs.microsoft.com/ja-jp/power-bi/guidance/dax-countrows
**COUNTROWS 関数**
https://docs.microsoft.com/ja-jp/dax/countrows-function-dax

ということで回答者数メジャーはできました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/7c4de19d-6cef-25ba-2f3b-4777d21bdaf8.png)

## 各種ビジュアルを作成しましょう
前回と同様にビジュアルを作成してみてください。前回はブラウザで作成しましたが、Power BI Desktop でもビジュアルを作成する基本操作は同じです。
まずは回答者数。カードを指定して、先ほど作ったメジャー「回答者数」を指定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/ca57957c-a2d6-637f-4935-988859aee414.png)

同じように残りのビジュアルも作っていくとこうなります。前回とほぼ同じ感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/1b574563-cfdb-aec6-905e-d957b37656e5.png)
で上部を空けておくと、そこに画像を入れることができます。
**[挿入]** - **[イメージ]** をクリックしてください
任意の画像を選択すると、このように画像を挿入できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/b9495cbe-28c2-5261-768c-812b7cc3cb6d.png)

## レポートができあがったら
レポートができたら、リボンの **[ホーム]** タブの発行ボタンで **[保存]** - 任意のワークスペースに **[発行]** します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/b3674fe0-bbd6-574d-063b-66e8c9bd6311.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/3636d3e5-559c-05a8-860c-7adfb800d421.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/627731f6-d71a-67f9-b916-b750bd7d9260.png)

Power BI Service に無事に発行されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/58a325de-feda-4e76-f9bc-3e2c1966cca9.png)

ここから先は前回の記事と同様に各ビジュアルをダッシュボードにピン留めしてください。
そして試しに Microsoft Forms からアンケートを送信してみてください。
前回の記事で作成したダッシュボードにピン留めしたところです。
真ん中の線より上が 前回 **Power BI Service** で作成したレポートから各ビジュアルをピン留めしたタイル。
真ん中の線より下が 今回 **Power BI Desktop** で作成したレポートから各ビジュアルをピン留めしたタイル。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/dae65c09-8112-3f8b-5575-a2f6be457402.png)
ほぼ同じものだということが分かると思います。前回のタイルが不要な場合は削除しましょう。

## （おまけ）ダッシュボードに画像を表示する
今回 **Power BI Desktop** からレポートを作成したので画像を入れることができましたが、レポートの画像をダッシュボードにピン留めすることはできません。
ただ、ダッシュボードに直接画像を入れることも可能です。http://.... でアクセス可能な任意のストレージに画像を用意してください。
私は **Azure Blob Storage** に画像ファイルを入れてあります。
ダッシュボード上部の **[・・・]** - **[+タイルの追加]** をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/6528e98d-9c0c-24f6-e2b3-fbe71482788d.png)
**[イメージ]** - **[次へ]**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/dfd2692a-6947-7fbd-8f68-fc4a4a1cb828.png)
**[URL]** に画像の **URL** を入力して適用してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/d684671f-4f66-8f02-ffe9-9cfb1eb033af.png)
そうするとダッシュボードにもこうやって画像を表示させることができます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/672a9314-3cac-4759-3baa-4f1652de3be9.png)

# おわりに
いかがでしたでしょうか？

最後まで読んでいただきありがとうございました。また気が向いたら、Power BI Tips シリーズ書きます。
皆様からのリクエスト、お待ちしております。

何かリクエストがあれば、以下までー🤗
Twitter: https://twitter.com/yugoes1021
Facebook: https://www.facebook.com/yugoes1021
LinkedIn: https://www.linkedin.com/in/yugoes1021/