TUGA IT 2016LISBON, PORTUGAL
THANK YOU TO OUR SPONSORS
THANK YOU TO OUR TEAM
ANDRÉ BATISTA ANDRÉ MELANCIA ANDRÉ VALA ANTÓNIO LOURENÇO BRUNO LOPES
CLÁUDIO SILVA
RUI BASTOS
NIKO NEUGEBAUER
RUI REISRICARDO CABRAL
NUNO CANCELO PAULO MATOS PEDRO SIMÕES
SANDRA MORGADO SANDRO PEREIRA
Agenda
09:00 - 10:00 - Jorge Camões 1
10:00 - 10:45 - Jorge Camões 2
10:45 - 11:00 - Coffee-Break 1
11:00 - 12:00 - Jorge Camões 2
12:00 - 13:00 - Rui Romano
13:00 - 14:00 - Lunch
14:00 - 15:15 - Wolfgang
15:25 - 15:45 - Sponsor Session
15:45 - 16:00 - Coffee-break 2
16:00 - 17:10 – Gerhard
17:10 - 17:30 - Q & A
Power BI
{for developers}
Rui Romano
https://ruiromanoblog.wordpress.com
• Industry-leading SaaS service
• Data Analysis & Exploration
• Raw Data => Useful Insights (in minutes)
• Out of the box Connectors to SaaS
Solutions
• Extension to current BI investments (SSAS,
SAP)
Power BI?Connecting any user, in any business, anywhere, with their data
9
Feature
Push data
Integration
Real-
time
integrate
embed
extend
Power BI Platform
Develop exactly what your organization needs
Visuals
</>
Automate
Feature
Open APIs for integration
Programmatically access Power BI
resources (datasets, tables)
Use the REST API to push data
directly from your application into
Power BI
Follow the Standards
REST + JSON + OAUTH
Cross Platform
Power BI SaaS Service
Power BI User Account
Your Service or Application
Push Data Component
Push Content Component
Datasets Reports Dashboards
Power BI REST APIs
</>
integrate
Feature
Sample – List 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"
}
}
Power BI REST APIs
</>
integrate
Feature
Sample – Push Data into DataSet
POST
https://api.powerbi.com/v1.0/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"}
]
}
Power BI REST APIs
</>
integrate
Int64
String
Bool
Datetime
Double
14
Access Tokens
Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTl…
http://jwt.io/
https://dev.powerbi.com/apps?type=web
17
Feature
Embedding Power BI in your application
Embed Power BI visuals in
your app (web, mobile,…)
Provide rich analytic
experience to your users
Lower development costs
Power BI Embedded
</>
embed
Feature
With API vs Power BI Embedded (Azure)Power BI Embedded
</>
embed
With API Power BI Embedded (Azure)
PBI Account Required
No Security Control
Not recomended for workgroups
No PBI Account Required
Developer control the security
Independent from the user account
Require an Azure Subscription
Paid by per *render
<script src="~/Scripts/powerbi.js"></script>
<script>
window.powerbi.accessToken = '{{AccessToken}}';
</script>
...
<div id=“pbiTile” powerbi-type=“report“></div>
...
<script>
var embedUrl = GetEmbedReportUrlFromPBIAPI();
$(“#pbiTile”).attr("powerbi-embed", embedUrl);
window.powerbi.embed(element);
</script>
1. Get AccessToken
2. Get the EmbedUrl using the REST
API
3. Set the EmbedUrl on the element
4. Call powerbi.embed()
21
Power BI Embedded (Azure Service)
Microsoft Azure
subscription
Embed
End users
Workspace
Workspace collection
1,N
Developer
Name
Admin Users
Endpoints
Keys
Gateways
Credentials
Geo Location
Tags
Name
Reports
Datasets
Tags
Your app
Azure SQL
Data Warehouse
Azure SQL Database
1,N
1,N
on Azure HDInsight
Power BI
Users
Permissions
Auth. providers
API keys
Token
+ Claim: Can view Report 1
+ Expiration: 5 minutes
2. User requests to view Report 1
3. Validate token
API keys
Report 2
Workspace
Report 1
Application
Developer controls the Authentication
1. Create App token
4. User is allowed to see Report 1
Discovery: Enumerate datasets and reports
Content Creation: Provision datasets and reports
Embed: Embed reports
Utility: Set connection strings and credentials
Power BI APIs
Azure APIs for automationProvision workspace collections
De-provision workspace collections
Manage API keysData
Platform
Programmatic
Azure SQL
Data Warehouse
Spark on
Azure HDInsight
Azure SQL
Database
Microsoft Azure
REST APIs Azure Resource Manager API
Your app
Power BI Embedded
Power BI Embedded API’s
25
• Author interactive reports in Power BI Desktop for free
• Enjoy simple pricing with no upfront costs, hidden maintenance fees or customization charges
Control costs with pay-as-you-go, render-based pricing
0-1000 Free
1000+ $2.50/1k renders
What is one render?When a Power BI visualization displayed
and it queries your data
Your data
Query
Your users
Cache
Price per render, per month
Feature
Custom Visuals
Browse the Power BI Visuals
Gallery (visuals.powerbi.com) for
community created visuals that
you can download
New visuals being added
continously
Upload a new visual in Report
View to start using it
Create your own custom visuals
from the published open source
visuals and the provided
framework
Submit your custom visuals to the
community
Power BI Custom Visuals
</>
extend
Feature
IVisual?Power BI Custom Visuals
</>
extend
Init() Update() Destroy()
29
Applications & Samples
• DevScope “Send to PowerBI” Excel App
• https://store.office.com/send-to-power-bi-WA104379349.aspx
• DevScope “PowerBI Tiles” Office App
• https://store.office.com/power-bi-tiles-WA104379699.aspx
• Chrome Extension
• https://github.com/PowerBI/Power-BI-for-chrome
• SSIS Adapter
• http://ioi.solutions/ssis-adapter-for-power-bi-rest-api/
Links
• PowerBI• https://powerbi.com
• https://dev.powerbi.com
• https://support.powerbi.com/
• Authentication (OAuth)• https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-authenticate-to-
power-bi-service/
• Custom Visualizations• https://github.com/Microsoft/PowerBI-visuals
• Stream Analytics + PowerBI• https://azure.microsoft.com/pt-pt/documentation/articles/stream-analytics-power-bi-
dashboard/
THANK YOU TO OUR SPONSORS