Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
AD21
開発者におくる Power BI を使う時に
考えるべきアーキテクチャ~データを溜めるのは誰だ?~
本セッションの概要
本セッションのゴール
自己紹介
清水優吾 (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
https://www.slideshare.net/yugoes1021/ms-forms-ms-flow-power-bi-83167435
はじめに
https://www.slideshare.net/yugoes1021/ms-forms-ms-flow-power-bi-83167435
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 より引用)
レポートの作成は、最初のビジュアルを作成する前から始まっていま
す。なぜなら、良いレポートを作るには、計画が必要だからです。 使
用するデータのことを理解し、レポートの要件を書き出します。 "どのようなビジネス ニーズがあり、このデータは誰によってどのように使われる
のか" ということを自問します。 "このレポートを読む人は、レポートを基にしてどのようなことを決定できることを望んでいるのか" を考えます。
これらの質問の答えを基にしてデザインを進めます。 すべてのレポート
にはストーリーがあります。 そのストーリーをビジネス ニーズと一致させる
必要があります。 劇的な洞察が得られるようなビジュアルを追加した
いと思うかもしれませんが、得られる洞察がビジネス ニーズと一致しな
いと、レポートは役に立たず、かえって同僚がそのビジュアルによって混
乱する可能性さえあります。 また、その決定を下すために必要な情報
が、このデータからは得られないことに気付くこともあります。 そのレポー
トは、必要なものを測定するのに使用できますか?
レポートは、監視、発見、追跡、予測、測定、管理、テストなどに使
用できます。 たとえば、ビジネス ニーズが業績を測定する売上レポート
である場合は、今期の売上、前期の売上との比較、競合他社との
比較、アラートをトリガーするいくつかの KPI などを含むレポートをデザインするでしょう。 おそらく、レポートから詳細な販売数にドリルダウンして、
売上に影響する可能性のある店舗閉鎖やサプライ チェーンの問題を
確認できるようにします。 また、店舗別、地域別、製品別、季節別
などの売上を調べることができるドリルダウンを用意するかもしれませ
ん。
レポートの利用者を理解し、利用者の知識レベルに応じた詳細さと
複雑さで、わかりやすい用語を使用し、データを提供するように、レ
ポートをデザインします。 利用者の種類が 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.
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。
ご清聴ありがとうございましたご不明な点はお声掛けください