開発者におくる Power BI を使う
時に考えるべきアーキテクチャ
~ データを溜めるのは誰だ?
~
AD21
本セッションの概要
本セッションのゴール
自己紹介
清水 優吾 (Yugo Shimizu) ♂
株式会社セカンドファクトリー
シニア テクニカル アーキテクト
• もともと金融系システムの開発者。今はテクニカルアーキテクト。
• 時々コーディングもしてます。
専門:
Power BI, Web API, “つくらず、つなぐこと”
興味:
MS Flow, Logic Apps, IFTTT, PowerApps, o365 周辺サービス, Azure Data系 Microsoft MVP
for Data Platform -
Power BI
(2017.02 - )
Qiita: https://qiita.com/yugoes1021 SlideShare: https://www.slideshare.net/yugoes1021
Power BI 勉強会: https://powerbi.connpass.com
@yugoes1021 yugoes1021 yugoes1021
免責事項
はじめに
私が合図をするまで、
送信しないでください。
はじめに
Microsoft Forms Microsoft Flow
URL
QRコー
ド
Microsoft
Forms
Microsoft
Flow
Power BI
Service
はじめに
Power BI とは
https://powerbi.microsoft.com/ja-jp/what-is-power-bi/
Power BI とは
https://docs.microsoft.com/ja-jp/power-bi/developer/embedded-faq
Power BI
Embedded
アプリケーション内
Power BI Service は SaaS
組織
Power BI とは
組織アカウント
• 組織アカウント Azure AD
• Office 365 Azure AD
https://docs.microsoft.com/ja-jp/power-bi/developer/create-an-azure-active-directory-tenant
Power BI とは
https://docs.microsoft.com/ja-jp/power-bi/developer/embedded-faq
Power BI Desktop
事前に検討すべきこと
稼働中のサービスのデータを可視化したい
どうしたらいいんだろ
う?
システムの稼働状況が一元的に見れると楽なんだ
けどなぁ
伸びてない売上の原因を突き止めろと上司に言わ
れた…
毎月毎月役員会議用のレポート作るの、しんどい
んだけど…
Power BI は イイぞ って聞い
た!
でも何から始めたらいいんだ
ろう?
そんな時は 公式ページ を見てみま
Power BI を利用するより前に検討すること
https://docs.microsoft.com/ja-jp/power-bi/power-bi-visualization-best-practices
https://docs.microsoft.com/en-us/power-bi/power-bi-visualization-best-practices
Power BI を利用するより前に検討すること
最初の視覚化を作成する前に注意する必要のある要件 (https://docs.microsoft.com/ja-jp/power-bi/power-bi-visualization-best-practices より引用)
レポートの作成は、最初のビジュアルを作成する前から始
まっています。なぜなら、良いレポートを作るには、計画
が必要だからです。 使用するデータのことを理解し、レ
ポートの要件を書き出します。 "どのようなビジネス ニー
ズがあり、このデータは誰によってどのように使われるの
か" ということを自問します。 "このレポートを読む人は、
レポートを基にしてどのようなことを決定できることを望
んでいるのか" を考えます。
これらの質問の答えを基にしてデザインを進めます。 すべ
てのレポートにはストーリーがあります。 そのストーリー
をビジネス ニーズと一致させる必要があります。 劇的な洞
察が得られるようなビジュアルを追加したいと思うかもし
れませんが、得られる洞察がビジネス ニーズと一致しない
と、レポートは役に立たず、かえって同僚がそのビジュア
ルによって混乱する可能性さえあります。 また、その決定
を下すために必要な情報が、このデータからは得られない
ことに気付くこともあります。 そのレポートは、必要なも
のを測定するのに使用できますか?
レポートは、監視、発見、追跡、予測、測定、管理、テス
トなどに使用できます。 たとえば、ビジネス ニーズが業績
しょう。 おそらく、レポートから詳細な販売数にドリルダ
ウンして、売上に影響する可能性のある店舗閉鎖やサプラ
イ チェーンの問題を確認できるようにします。 また、店舗
別、地域別、製品別、季節別などの売上を調べることがで
きるドリルダウンを用意するかもしれません。
レポートの利用者を理解し、利用者の知識レベルに応じた
詳細さと複雑さで、わかりやすい用語を使用し、データを
提供するように、レポートをデザインします。 利用者の種
類が 1 つではない場合はどうすればいいですか? いつでも
1 つのサイズですべてに対応できるわけではありません。
専門知識のレベルに基づいてレポートのページを分け、利
用者が自分で見分けられるように、各ページに明確なラベ
ルを付けます。 利用者が自分に合わせてページを調整でき
るようにスライサーを使用するのも 1 つの方法です。 利用
者にも計画段階に参加してもらい、利用者のニーズを誤解
しないようにします。 やり直しや繰り返しが発生してもい
いように用意しておきます。
ビジネス ニーズ、利用者、および含めるメトリックが明ら
かになったら、次に、ストーリーを伝えるのに適したビ
ジュアルを選択し、可能な限り最も効果的な方法でこれら
Power BI を利用するより前に検討すること
アプリ開発
サービス開発
と一緒ジャン
なーんだ
BI とは
データベース
ダッシュボード
レポート
会議で JUDGE現場へ GO
Business Intelligence
現場で DO
意
思
決
定
の
た
め
に
通常業務により自然と溜まるデータ
どこでも SEE
現場で DO
データベース
ダッシュボード
レポート
Business Intelligence
現場で DO
通常業務により自然と溜まるデータ
どこでも SEE
現場で DO
BI のパターン
作りたいレポートはどっち?
ある時点までの
データが見たい
いまこの瞬間の
データが見たい
1.分析用レポート 2.リアルタイムダッシュ
ボード
BI のパターン
1.分析用レポート 2.リアルタイムダッシュ
ボード
BI のパターン
原
因 次の行動への判
断
1.分析用レポート
BI のパターン
1.分析用レポート 2.リアルタイムダッシュ
ボード
2.リアルタイムダッシュ
ボード
BI のパターン
現状
予定通りか否か 異常値は
ないか 次の行動へ
の判断
Power BI のデータ接続モード
~データ接続の主語とタイミング~
Power BI が わんこ だった場
合
データを取りに行く データを待つ
データを取りに行く データを待つ
インポー
ト
DirectQuery ライブ接続
REST API
データ接続モード
Power BI ではレポートのデータ接続モードが4つある
Power BI Desktop の DirectQuery
https://docs.microsoft.com/ja-jp/power-bi/desktop-use-directquery
Power BI におけるデータ アクセス方法 まとめ (DirectQuery と ライブ接続の違い)
https://blogs.msdn.microsoft.com/dataplatjp/2017/04/05/power-bi-data-access/
インポート
DirectQuery
ライブ接続
REST API
1. インポート
DAX
~作成時~
インポート
Service
DAXインポート
最大 8 回/日
参照
~発行後~
2. DirectQuery
DAX
~作成時~
レスポンス
SQL
Service
DAX 参照
~発行後~
レスポンス
SQL
ここの問合せ(クエ
リ)は参照する度に実
行
3. ライブ接続
DAX
~作成時~
レスポンス
Service
DAX
参照
~発行後~
レスポンス
ここの問合せ(クエリ)は
参照する度に実行
4. REST API
Power BI Service にストリーミングデータセットを作成し、同時に作成さ
れる
REST API へ JSON データを POST することでデータの追加が可能
~作成時~
POST
API
データ接続モード × レポートの種類
分析用レポート リアルタイム
ダッシュボード
じっくり分析 ほぼリアルタイ
ム
完全リアルタイ
ム
インポート 〇 × ×
DirectQuery
× 〇 ×
ライブ接続
REST API × × 〇
Demo
- 分析用レポート
- REST API
- リアルタイムダッシュボード
(参考)DAX について
DAX = Data Analysis Expressions
Power BI Desktop で 計算列 や メジャー を作成するために使用するひとつの言語。
論理関数や集計関数、カレンダーテーブルを作成するタイムインテリジェンス関数な
どがある。
もともと SSAS や Excel の Power Pivot で使用されていたもの。
Power BI Desktop における DAX の基本事項
https://docs.microsoft.com/ja-jp/power-bi/desktop-quickstart-learn-dax-basics
DAX の概要(自習用ビデオあり)
https://docs.microsoft.com/ja-jp/power-bi/guided-learning/introductiontodax
DAX 関数リファレンス
https://msdn.microsoft.com/ja-jp/library/ee634396.aspx
BI 実現までのフェーズ
1. 分析のためのレポート
【フェーズ1】
システムからデータをフラットファイル(CSV、Excel)でダウ
ンロード
データをグラフ化して、分析
分析
議論・判
断
現場へ
手動で
ダウン
ロード
DB
分析
可視化
全体のコストの80-90%
1. 分析のためのレポート
【フェーズ2】
システムと BI ツールを自動連携。定期的かつ必要なタイミ
ングで最新データがグラフ化され、分析や議論に適切な時間
を費やすことができ、繰り返し「試行」が可能となる
自動連携
議論・判
断
BI ツー
ル
DB
現場へ
可視化
全体のコストの80-90%
分析
1. 分析のためのレポート
【フェーズ3】
複数のシステムをデータソースとして DWH を構成、データ
を一元管理して、BI ツールを自動連携。データがグラフ化さ
れ、分析や議論。
自動連携
分析
議論・判
断
BI ツー
ル
DB
現場
へ
可視化
DB
SaaS
SNS
DWH
2. リアルタイムダッシュボード
Sensors
Data Sources
アーキテクチャ
BI ツー
ル
可視化
定期的な更新
分析用
2. リアルタイムダッシュボード
BI ツー
ル
可視化
Stream
Analytics
IoT
Hub
Azure
Functions
SQL
Database
Blob
Storage
Event
Hubs
リアルタイムストリー
ミング
アーキテクチャ
Sensors
Data Sources
データがオンプレミスにあったら Power BI って使えないんで
しょ?
業務データはオンプレミスにあるから Power BI Desktop で分析
してます
安心してください、使えます
「オンプレミス データ ゲートウェイ」
http://go.microsoft.com/fwlink/?LinkID=820925
【参考URL】
オンプレミス データ ゲートウェイ
https://docs.microsoft.com/ja-jp/power-bi/service-gateway-onprem
オンプレミス データ ゲートウェイの詳細
https://docs.microsoft.com/ja-jp/power-bi/service-gateway-onprem-indepth
オンプレミス データ ゲートウェイに関してよく寄せられる質問 (FAQ)
https://docs.microsoft.com/ja-jp/power-bi/service-gateway-onprem-faq
ダウンロード URL
http://go.microsoft.com/fwlink/?LinkID=820925
え!?データがオンプレにあるけどPower BI で BI したいの?
https://www.slideshare.net/yugoes1021/20170520-power-bi
最近 Power BI が On-Premises と仲良くなってきておりまして
https://www.slideshare.net/yugoes1021/prd03-power-bi-onpremises
【参考URL】
Power BI 無料版対 Power BI Pro
https://docs.microsoft.com/ja-jp/power-bi/service-free-vs-pro
Power BI で使用する Azure Active Directory テナントを作成する
https://docs.microsoft.com/ja-jp/power-bi/developer/create-an-azure-active-directory-
tenant
DirectQuery を使用する影響
https://docs.microsoft.com/ja-jp/power-bi/desktop-directquery-about#implications-of-
using-directquery
【参考URL】
Power BI のリアルタイム ストリーミング
https://docs.microsoft.com/ja-jp/power-bi/service-real-time-streaming
Power BI REST API の概要
https://msdn.microsoft.com/ja-jp/library/dn877544.aspx
Power BI REST API リファレンス
https://msdn.microsoft.com/ja-jp/library/mt147898.aspx
Power BI で動くグラフを表示するには?~ストリーミングデータセット
~
https://qiita.com/yugoes1021/items/1b87a7205e6c659a9604
まとめ
開発者におくる Power BI を使う時に
考えるべきアーキテクチャ
~ データを溜めるのは誰だ? ~
答え: エンジニアはもちろん BI に関わる
全ての人
Power BI を使うには 計画 が必要です
シナリオに合わせて、必要な レポートの種類 を決めましょう
シナリオに合わせて、データ接続モード を選びましょう
レポートの種類 と データ接続モード から アーキテクチャ を考
えましょう
繰り返し、やり直しは恐れない
クラウドサービスはもちろん、オンプレミス にデータがあって
も使えます!
ほら、使いたくなってきた!
がっつり Power BI をつかめましたね!
© 2018 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
ご清聴ありがとうございました
ご不明な点はお声掛けください

開発者におくる Power BI を使う時に考えるべきアーキテクチャ ~ データを溜めるのは誰だ? ~