Presentation is loading. Please wait.

Presentation is loading. Please wait.

Power BI for Developers Rui Romano SQLSaturday.com

Similar presentations


Presentation on theme: "Power BI for Developers Rui Romano SQLSaturday.com"— Presentation transcript:

1 Power BI for Developers Rui Romano Slides @ SQLSaturday.com http://1drv.ms/1XCkwmM

2 Rui Romano  Rui.Romano@DevScope.net Rui.Romano@DevScope.net  BI Pro / Architect / Developer  Blog  https://ruiromanoblog.wordpress.com  Twitter  @RuiRomano 2 |

3 Agenda  PowerBI Intro (a quick one )  PowerBI Developer Platform  Integrate  Enhance

4 PowerBI?  SaaS Data Service  Data Analysis & Exploration  Raw Data => Insights (fast & easy)  Out of the box Connectors to SaaS Solutions  Extension to current BI Investments

5 Demo – PowerBI

6 Power BI Developer Platform IntegrationREST APIEmbed Stream Analytics Extension Custom Visuals Content Packs*

7 REST APIs /DataSets/Dashboards /Reports /Imports /Groups Standards based REST JSON OAuth Cross Platform Easy to use

8 Get DataSets GET https://api.powerbi.com/v1.0/myorg/datasets Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGc1NiIsIng1dCI6Ik1uQ1… (Access Token) Response { "datasets": [ { "id": "5018fd65-71e6-47cb-8dde-68931545e7b8", "name": "MyMovies" }, { "id": "9862d253-f4a5-4997-9d06-1566aff78d5e", "name": "SQLSaturday_SalesMarketing" }

9 Create DataSet POST https://api.powerbi.com/v1.0/myorg/datasets Request { "name": "SalesMarketing", "tables": [ { "name": "Product", "columns": [ { "name": "ProductID", "dataType": "Int64"}, { "name": "Name", "dataType": "string"}, { "name": “Price", "dataType": “double"}, { "name": "IsCompete", "dataType": "bool"}, { "name": "ManufacturedOn", "dataType": "DateTime"} ] } ] } Int64 String Bool Datetime Double

10 POST Table Rows POST https://api.powerbi.com/v1.0/myorg/datasets/ /tables/ /rows Request { "rows": [ { "ProductID":1, "Name":"Adjustable Race", "Category":"Components", "IsCompete":true, "ManufacturedOn":"07/30/2014"},{ "ProductID":2, "Name":“Racing Bike", "Category":“Bikes", "IsCompete":true, "ManufacturedOn":“10/30/2014"} ]}

11 Demo – PowerBIPS

12 Power BI App  OAuth Requirement  Identification to PowerBI and Users  Declares the permissions it needs  Two Types:  Native App  Web App https://dev.powerbi.com/apps?type=web

13 OAuth: WebApp Auth. Flow

14 OAuth Access Token? Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNX BPWWlKSE1iYTl… http://jwt.io/

15 Demo – Send to PowerBI (ASP.Net)

16  Login the user  Call https://api.powerbi.com/beta/myorg/dashboards  Call https://api.powerbi.com/beta/myorg/dashboards/{guid}/Tiles  Get the embed tile URL  Ex: https://app.powerbi.com/embed?dashboardId= &tileId= https://app.powerbi.com/embed?dashboardId= &tileId=<tileGUID  Create an IFrame with the Tile URL  PostMessage the AccessToken Embed Visuals in your App // find the iFrame on the page and handle the loaded event. var iframe = document.getElementById('iFrameEmbedTile'); iframe.src = embedTileUrl + "&width=" + width + "&height=" + height; iframe.onload = postActionLoadTile; // post the access token to the iFrame to load the tile function postActionLoadTile() { // get the access token. accessToken = document.getElementById('MainContent_accessTokenTextbox').value; // construct the push message structure var m = { action: "loadTile", accessToken: accessToken, height: 500, width: 500}; message = JSON.stringify(m); // push the message. iframe = document.getElementById('iFrameEmbedTile'); iframe.contentWindow.postMessage(message, "*"); }

17 Demo – Embed Visualizations

18 Demo – PhantomJS

19 Demo – PowerBI Tiles

20 Custom Visuals  OpenSource @ GitHub  Community Driven  Visualizations & Framework  TypeScript  D3.js

21 IVisual? Init()Update()Destroy() JavaScript Object

22 Demo – Custom Visuals

23 DataView?

24 Capabilities

25 Real-Time Analysis

26 Demo – Twitter Real-Time Analysis

27 Automatic Retention Policy https://api.powerbi.com/beta/myorg/datasets?defaultRetentionPolicy=BasicFIFO BasicFIFO  Store up to 200.000 rows  Affects all the Tables in the DataSet

28 PowerBI + Stream Analytics Components of an Azure Stream Analytics Application Azure SQL DB Azure Event Hubs Azure Blob Storage INPUT Source of Events Azure Blob Storage Azure Event Hubs Reference Data Query runs continuously against incoming stream of events Power BI

29 Demo – PowerBI + Stream Analytics

30 Applications & Samples  DevScope “Send to PowerBI” Excel App  https://store.office.com/send-to-power-bi-WA104379349.aspx https://store.office.com/send-to-power-bi-WA104379349.aspx  DevScope “PowerBI Tiles” Office App  https://store.office.com/power-bi-tiles-WA104379699.aspx https://store.office.com/power-bi-tiles-WA104379699.aspx  Chrome Extension  https://github.com/PowerBI/Power-BI-for-chrome https://github.com/PowerBI/Power-BI-for-chrome  SSIS Adapter  http://ioi.solutions/ssis-adapter-for-power-bi-rest-api/ http://ioi.solutions/ssis-adapter-for-power-bi-rest-api/

31 Links  PowerBI  https://powerbi.com https://powerbi.com  https://dev.powerbi.com https://dev.powerbi.com  https://support.powerbi.com/ https://support.powerbi.com/  Authentication (OAuth)  https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-authenticate-to-power-bi- service/ https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-authenticate-to-power-bi- service/  Custom Visualizations  https://github.com/Microsoft/PowerBI-visuals https://github.com/Microsoft/PowerBI-visuals  Stream Analytics + PowerBI  https://azure.microsoft.com/pt-pt/documentation/articles/stream-analytics-power-bi-dashboard/ https://azure.microsoft.com/pt-pt/documentation/articles/stream-analytics-power-bi-dashboard/

32 THANK YOU! ASK QUESTIONS… Rui.Romano@DevScope.net @RuiRomano


Download ppt "Power BI for Developers Rui Romano SQLSaturday.com"

Similar presentations


Ads by Google