Upload
rui-romano
View
76
Download
4
Embed Size (px)
Citation preview
Power BI for Developers
Rui Romano
DevScope, BI Team
Rui Romano
[email protected] DevScope @ BI Team Blog
https://ruiromanoblog.wordpress.com
Twitter @RuiRomano
5/22/2015 2 |
Our Main Sponsors:
Say Thank you to Volunteers:
They spend their FREE time to give you this event.
Because they are crazy. Because they want YOU
to learn from the BEST IN THE WORLD.
Paulo Matos:
Pedro Simões:
André Batista:
Paulo Borges:
André Melancia:
Murilo Miranda:
Quilson Antunes:
5 Sponsor Sessions at 15:10
Don’t miss them, they might be getting distributing some awesome prizes!
Rumos BI4ALL Bold Int CozyRoc Pythian
Important Activities:
WIT – Women in Technology 15:10 at BizSpark Room (Ground Floor)
SQLClinic Challenges 10:00 DEV (Neil Hambly) 11:50 DBA (Uwe Ricken) 17:00 BI (Steph Locke)
Agenda
Intro to PowerBI PowerBI Developer Experience Labs
Lab 1 – Create Account Lab 2 – PowerBI Designer Lab 3 – Intro to REST Api’s Lab 4 – PowerShell & PowerBI Lab 5 - .Net & PowerBI
PowerBI?
SaaS Data Service for all your data Unified experience to explore:
Any Data Any Device Anytime & Anywhere
Out of the box connectors to SaaS Solutions Extension to your current BI Investments
PowerBI?
PowerBI Designer
Data Exploration, Modeling & Visualization Tool PowerQuery + PowerPivot + PowerView Free Desktop App (x64 & x86)
PowerBI Basics - DataSets?
DataSource & Data Model Collection of Tables with relationships Created in:
Excel, PowerBI Designer, SaaS Packages or API’s
PowerBI Basics - Reports?
Interactive Visualizations Experience like PowerView
Connects to one DataSet “Pin” individual items to Dashboards Created in:
Browser, Excel, PowerBI Designer and SaaS Packages
PowerBI Basics - Dashboards?
Collection of Tiles that represent what matters most to you
Connects to multiple DataSets & Reports Can be shared Created in:
Browser, SaaS Packages
PowerBI for Developers
Credits: http://channel9.msdn.com/Events/Ignite/2015/BRK3551
PowerBI Developer REST APIs
https://api.powerbi.com/beta/myorg /DataSets
GET DataSets - List DataSets POST DataSet – Create DataSet POST Table Rows – Upload Data DELETE Table Rows – Clear All PUT Table – Update Schema More Coming Soon…
/Reports ?
/Dashboards ?
• Standards based• REST• JSON• OAuth
• Cross Platform• Easy to use
GET DataSets
GET https://api.powerbi.com/beta/myorg/datasets
Request Nothing
Response
{ "datasets": [ { "id": "5018fd65-71e6-47cb-8dde-68931545e7b8", "name": "MyMovies" }, { "id": "9862d253-f4a5-4997-9d06-1566aff78d5e", "name": "SQLSaturday_SalesMarketing" }, …]}
POST DataSets
POSThttps://api.powerbi.com/beta/myorg/datasets?defaultRetentionPolicy=None
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"} ] } ]}
POST DataSets
POSThttps://api.powerbi.com/beta/myorg/datasets?defaultRetentionPolicy=None
Response
{ "id": "38de2ce4-c3cf-4eda-978f-93339cba1669", "name": "SalesMarketing“}
POST Table Rows
POST https://api.powerbi.com/beta/myorg/datasets/<dataSetId>/tables/<tableName>/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" }
]}
POST Table Rows
POST https://api.powerbi.com/beta/myorg/datasets/<dataSetId>/tables/<tableName>/rows
Response HTTP Status Code (200 - if everything went OK)
DELETE Table Rows
DELETEhttps://api.powerbi.com/beta/myorg/datasets/<dataSetId>/tables/<tableName>/rows
Request Empty
Response HTTP Status Code (200 - if everything went OK)
PUT Table
PUThttps://api.powerbi.com/beta/myorg/datasets/<dataSetId>/tables/<tableName>
Request
{ "name": "Product", "columns": [ { "name": "ProductID", "dataType": "Int64"}, { "name": "Name", "dataType": "string"}, { "name": “Price", "dataType": “double"}, { "name": "IsCompete", "dataType": "bool"}, { "name": "ManufacturedOn", "dataType": "DateTime"},
{ "name": “NewColumn", "dataType": “double"} ] }
PUT Table
PUThttps://api.powerbi.com/beta/myorg/datasets/<dataSetId>/tables/<tableName>
Response HTTP Status Code (200 - if everything went OK)
Automatic Retention Policy
BasicFIFO Store up to 200.000 rows Affects all the Tables in the DataSet
Not Supported (right now…)
Push data into existing data models Models created by: Excel, PowerBI Designer,…
Create relationships between tables Delete a range of data Delete a dataset Get data from a dataset
Azure AD Application
OAuth Requirement Identification to PowerBI and Users Declares the permissions it needs
For User Consent
Two Types: Native App Web App
OAuth: WebApp + PowerBI
Credits: http://channel9.msdn.com/Events/Ignite/2015/BRK3551
OAuth: NativeApp + PowerBI
Credits: http://channel9.msdn.com/Events/Ignite/2015/BRK3551
Demos
Labs
OneNote: http://bit.do/pbi4devlabs Downloads: http://bit.do/pbi4devdownloads
Our Main Sponsors: