シニア テクニカル アーキテクト
清水優吾(しみず ゆうご) / 株式会社セカンドファクトリー
@yugoes1021
yugoes1021 Microsoft MVP
for Data Platform - Power BI
(2017.02 -)
技術者として抑えておきたい
Power BI アーキテクチャ
~ Make it possible with Power BI ~
2018-09-08
Power BI 勉強会 第9回 Dev Track
2018/09/08 Power BI 勉強会 1
https://www.slideshare.net/yugoes1021
2.
自己紹介:
清水 優吾 (YugoShimizu) ♂
株式会社セカンドファクトリー
シニア テクニカル アーキテクト
2018/09/08 Power BI 勉強会 2
• もともと金融系システムの開発者。今はテクニカルアーキテクト。
• 時々コーディングもしてます。
専門: Power BI, Web API, “つくらず、つなぐこと”
興味: MS Flow, Logic Apps, IFTTT, PowerApps, o365 周辺サービス
Twitter: @yugoes1021 Facebook: yugoes1021
Qiita: https://qiita.com/yugoes1021
Power BI 勉強会: https://powerbi.connpass.com
Japan Power BI User Group: https://www.facebook.com/groups/JapanPBUG/
Microsoft MVP
for Data Platform -
Power BI
(2017.02 - )
2018/09/08 13
Power BIServiceData Source
DWH
1.接続方法(データソース、ツール)
Application
Service
Power BI のコネクタ:Power Query(M言語)
アプリ、ツールによるデータ連携
, R, Python
14.
2018/09/08 14
Power BIServiceData Source
DWH
2.更新頻度(1日に何回、xx分に1回、リアルタイム)
Application
Service
Power BI のコネクタ
昨日までのデータ
が見れればOK
“今”が見たい
1時間ごとの
データが最新
• ユーザーの「最新」の定義
• UX を意識して必要最小限の
コストで更新
15.
2018/09/08 15
Power BIServiceData Source
DWH
3.データ範囲(過去全部、過去2年分、今期のみ)
Application
Service
Power BI のコネクタ
当月と前年同期比
が見たい
“今”と予算比が
見たい
当月の今日までと
前月比が見たい
要求を満たすのに最低限どの範
囲のデータがあればよいか?
16.
2018/09/08 16
Power BIServiceData Source
DWH
4.データライフサイクル
Application
Service
Power BI のコネクタ
1年後, 3年後, 5年後の
データソース には
どの範囲のデータがあるのか?
17.
2018/09/08 17
Power BIServiceData Source
DWH
5.同時接続数(DirectQuery の場合)
Application
Service
Power BI のコネクタ
DirectQuery の大前提
ETL, モデリングは Power BI の範疇ではない
データソース側ですべて終わらせておく!
レポートへのアクセスのたび
にデータソースへデータを取
りに行くので、データソース
側へのコストを見積っておく
2018/09/08 Power BI勉強会 19
データ接続モード
Power BI Desktop の DirectQuery
https://docs.microsoft.com/ja-jp/power-bi/desktop-use-directquery
20.
2018/09/08 Power BI勉強会 20
ストレージモード(プレビュー)
Power BI Desktop (プレビュー) でのストレージ モード
https://docs.microsoft.com/ja-jp/power-bi/desktop-storage-mode
Power BI Desktop (プレビュー) での複合モデル
https://docs.microsoft.com/ja-jp/power-bi/desktop-composite-models
2018/09/08 Power BI勉強会 23
標準のコネクターは豊富だが…
ファイル
• Excel
• TEXT/CSV
• XML
• JSON
• フォルダー
• SharePoint フォルダー
データベース
• SQL Server データベース
• Access データベース
• SQL Server Analysis Services
• Oracle データベース
• IBM DB2 データベース
• IBM Informix データベース (Beta)
• IBM Netezza
• MySQL データベース
• PostgreSQL データベース
• Sybase データベース
• Teradata データベース
• SAP HANA データベース
• SAP Business Warehouse Application サーバー
• SAP Business Warehouse メッセージ サーバー (Beta)
• Amazon Redshift
• Impala
• Google BigQuery
• Snowflake
• Exasol
Power BI
• Power BI データセット
Azure
• Azure SQL Database
• Azure SQL Data Warehouse
• Azure Analysis Services データベース
• Azure BLOB ストレージ
• Azure テーブル ストレージ
• Azure Cosmos DB (ベータ版)
• Azure Data Lake Store
• Azure HDInsight (HDFS)
• Azure HDInsight Spark (Beta)
• HDInsight 対話型クエリ (Beta)
• Azure KustoDB (Beta)
Power BI Desktop のデータ ソース
https://docs.microsoft.com/ja-jp/power-bi/desktop-data-sources
24.
2018/09/08 Power BI勉強会 24
標準のコネクターは豊富だが…
オンライン サービス
• SharePoint Online リスト
• Microsoft Exchange Online
• Dynamics 365 (オンライン)
• Dynamics NAV (Beta)
• Dynamics 365 Business Central
• アプリ用 Common Data Service (Beta)
• Common Data Service (Beta)
• Microsoft Azure Consumption Insights (Beta)
• Visual Studio Team Services (Beta)
• Salesforce オブジェクト
• Salesforce レポート
• Google アナリティクス
• Adobe Analytics
• appFigures (Beta)
• comScore Digital Analytix (Beta)
• Dynamics 365 for Customer Insights (ベータ)
• Data.World - データセットの取得 (Beta)
• Facebook
• GitHub (Beta)
• MailChimp (Beta)
オンライン サービス
• Marketo (Beta)
• Mixpanel (Beta)
• Planview Enterprise One - PRM (Beta)
• Planview Projectplace (Beta)
• QuickBooks Online (Beta)
• Smartsheet
• SparkPost (Beta)
• Stripe (Beta)
• SweetIQ (Beta)
• Planview Enterprise One - CMT (Beta)
• Twilio (Beta)
• tyGraph (Beta)
• Webtrends (Beta)
• Zendesk (Beta)
• TeamDesk (Beta)
25.
2018/09/08 Power BI勉強会 25
標準のコネクターは豊富だが…
その他
• Vertica (Beta)
• Web
• SharePoint リスト
• OData フィード
• Active Directory
• Microsoft Exchange
• Hadoop ファイル (HDFS)
• Spark
• R スクリプト
• ODBC
• OLE DB
• 空のクエリ
[押さえておくこと]
内部実装は基本的にすべて Power Query (M言語)
Power Query から呼び出されているのは Web API
当然 Web API 側の制約(認証、スロットリング、制限)を受ける
実業務で使用するなら Web API 側の制約 を知ってから!
技術者なら…
OK:コネクタ、あるじゃん!試してみようー
NG:コネクタ、あるじゃん!つながるじゃん、できる、できる
26.
2018/09/08 Power BI勉強会 26
Web API の制約
よくある制約
• 一度に取得できるデータ量(件数)に制限がある
• 時間当たりの呼び出し回数が決まっている
• 取得できるデータの時間的範囲に制限がある
• 認証の手続きが面倒
Web APIDB
Service
Power BI Service
制約
⇒ 欲しいデータが取得できない!
27.
2018/09/08 27
Web APIの制約
よくある制約
• 一度に取得できるデータ量(件数)に制限がある
• 時間当たりの呼び出し回数が決まっている
• 取得できるデータの時間的範囲に制限がある
• 認証の手続きが面倒
Web APIDB
Service
Power BI Service
⇒ 欲しいデータが取得できない!
集約DB
Application
Logic AppsFlow
Functions
集約DB にデータを 差分更新する アプリ を用意する
Business Application Platform(Citizen Application Platform)
2018/09/08 Power BI 勉強会 30
Flow Power BIPowerApps
Frontend Business Logic Data
Office 365
つまり システム が作れる
2018/09/08 Power BI勉強会 43
Microsoft
Flow Text
Analytics
Computer
Vision
ついでに投稿内容を
Cognitive Services で
解析しちゃおう
Microsoft
Flow アプリ
ボタン
Power BI
Service
Blob
Storage
Facebook
Twitter
2018/09/08 Power BI勉強会 47
https://www.microsoft.com/ja-jp/events/techsummit/2018/
48.
Business Application Platform(Citizen Application Platform)
2018/09/08 Power BI 勉強会 48
Flow Power BIPowerApps
Frontend Business Logic Intelligence
Office 365
Power Platform
Common Data Service, Common Data Model
49.
2018/09/08 Power BI勉強会 49
https://www.facebook.com/groups/JapanPBUG/
Power BI に興味がある人はもちろん
興味がない人も
ぜひご登録を(*’ω’*)