SlideShare a Scribd company logo
POWER BI SINGLE
PAGE
APPLICATIONS
ELEMENTS OF POWERFUL DATA
VISUALIZATION
• Power BI: Data Visualization & Big Data Queries
• Javascript: Universal Language for the Web
• Single Page Application: No server state
+
WHY POWER BI?
Alternative Approach Libraries Consequence
Code it Yourself D3 (Data Driven Document) Hard for anyone that’s not a
developer build reports and
dashboards
License Commercial Libraries DevExpress, Telerik, etc.. Limited drag& drop design, cannot
query millions of records quickly
Tableau, other.. Real costs aren’t known upfront, no
right integration with Azure
“Power BI is a modern business intelligence solution that brings data
and analytics to more people than ever before, across all roles and
disciplines within organizations…that is ‘five seconds to sign up and
five minutes to wow’” (https://powerbi.microsoft.com/en-us/blog/microsoft-power-bi-receives-esri-
new-technology-integration-award-for-2017/)
… you can visualize millions of records quickly!
POWER BI ORIGINS
CODE A DASHBOARD USING AN OPEN SOURCE LIBRARY
(D3) OR COMMERCIAL LIBRARY (DEVEXPRESS)
BUILT-IN POWER BI WIDGETS
HOW DOES POWER BI WORK?
2 Design in Power BI Desktop1 Get Data
Offline: CSV flat file, cached query or
direct query to sql
3 Upload to Azure
4 Host in Your Own
Web App
Using Embedded or Rest Api
(There is a difference)
POWER BI DESKTOP
• Excel-like data query
• Drag and drop UI
Free Download: https://powerbi.microsoft.com/en-us/desktop/
POWER BI FLAVORS
UPLOAD POWER BI REPORTS TO
AZURE
• Add Power BI Embedded Resource in
Portal.Azure.com
• Create a Workspace Collection & Workspace
– You can only create workspace from API
• Upload .PBIX to Workspace (Using Rest API
calls or .Net library)
UPLOADING REPORTS
PM> Install-Package Microsoft.PowerBI.Api
//Instantiate PowerBI Client
//Create a Workspace (if one doesn’t exist)
//Upload .PBIX
Microsoft.PowerBI.Api.V1.PowerBIClient Client = new PowerBIClient(
new TokenCredentials(apiAccessKey, "AppKey"))
{BaseUri = new Uri("https://api.powerbi.com")};
await Client.Workspaces.PostWorkspaceAsync(WorkspaceCollectionName);
await Client.Imports.PostImportWithFileAsync(WorkspaceCollectionName,
WorkspaceId, fileStream, datasetName);
/*See https://github.com/Microsoft/PowerBI-
JavaScript/wiki/Understanding-the-Embed-Process for the embed
process*/
POWER BI EMBEDDED ON YOUR
WEBSITE
//Install power bi client
npm install powerbi-client
//Reference power bi client library (in view)
@Scripts.Render("~/Libs/powerbi.min.js")
//Make API Call to fetch embed token (see next slide)
//Instantiate report in JS
window.powerbi.embed(…)
PM> Install-Package Microsoft.PowerBI.Api
//In .Net Web API Controller
using Microsoft.PowerBI.Security;
var embedToken = PowerBIToken.CreateReportEmbedToken(
ReportCollectionName,
ReportWorkspaceInternalId,
ReportReportGuid,
expiration,
username,
roles).Generate(AzureApiAccessKey);
GENERATE EMBED TOKEN
//In Javascript (ReactJS):
const report = window.powerbi.embed(this.refs.ReportContainer, {
type: 'report',
accessToken: embedToken,
id: reportId,
embedUrl: settings.powerBIEndpoint,
pageName: defaultPage,
settings: {
filterPaneEnabled: this.props.showFilters,
navContentPaneEnabled: this.props.showPageNavigation
}
});
report.on('dataSelected', this.onReportDataSelected)
.on('filtersApplied', this.onReportFiltersApplied)
.on("loaded", this.onReportLoaded)
.on("error", this.onReportError)
.on("pageChanged", this.onReportPageChanged);
POWER BI EMBEDDED IN YOUR APP
http://powerbiembeddedreactjstypescriptspa.azurewebsites.net/
My
Javascript
App
PowerBI
Embedded
IFrame
INTERACT WITH YOUR REPORT IN
YOUR EXISTING APP
• Listen for events
• Get/set/clear filters
• Navigate Pages
See https://github.com/Microsoft/PowerBI-JavaScript/wiki/Understanding-the-object-
hierarchy for object model
GOTCHAS
• Licensing Costs: Signing up users for power bi rest api to build their own dashboards
may require a office 365 license.
• Caching: reports are caches. If you want to refresh data, you may need to build your
own services to re-publish the report on an interval.
• No on-premise solution at the moment (requires Azure)
NEXT STEPS
1. Getting Started with Power BI Pluralsight Course – Mostly
about configuring data model and using Power BI Desktop
2. Power BI .Net Rest API on GitHub
3. Power BI Javascript Library on GitHub
4. Get started with Power BI Embedded Microsoft Tutorial
5. Power BI Single Page Application Live Demo Site
6. PASS Hands on Workshop

More Related Content

What's hot

Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...
Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...
Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...
Edureka!
 
Intro for Power BI
Intro for Power BIIntro for Power BI
Intro for Power BI
Martin X
 
Power bi
Power biPower bi
Power bi
Power biPower bi
Power bi
Tarun Bamba
 
Building a Dashboard in an hour with Power Pivot and Power BI
Building a Dashboard in an hour with Power Pivot and Power BIBuilding a Dashboard in an hour with Power Pivot and Power BI
Building a Dashboard in an hour with Power Pivot and Power BI
NR Computer Learning Center
 
Power bi introduction
Power bi introductionPower bi introduction
Power bi introduction
Bishwadeb Dey
 
Power BI Overview
Power BI OverviewPower BI Overview
Power BI Overview
Nikkia Carter
 
Power BI Overview
Power BI Overview Power BI Overview
Power BI Overview
Gal Vekselman
 
Power BI for Developers
Power BI for DevelopersPower BI for Developers
Power BI for Developers
Jan Pieter Posthuma
 
Power of power BI
Power of power BI Power of power BI
35 power bi presentations
35 power bi presentations35 power bi presentations
35 power bi presentations
Sean Brady
 
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Edureka!
 
Power bi-dashboard-in-a-day-diad-mumbai-2019
Power bi-dashboard-in-a-day-diad-mumbai-2019Power bi-dashboard-in-a-day-diad-mumbai-2019
Power bi-dashboard-in-a-day-diad-mumbai-2019
Priyanka Khanadali
 
Power bi
Power biPower bi
Power bi
jainema23
 
Microsoft power bi
Microsoft power biMicrosoft power bi
Microsoft power bi
techpro360
 
What is Power BI
What is Power BIWhat is Power BI
What is Power BI
Naseeba P P
 
Power BI Consultants | Power BI Solutions | Power BI Service
Power BI Consultants | Power BI Solutions | Power BI ServicePower BI Consultants | Power BI Solutions | Power BI Service
Power BI Consultants | Power BI Solutions | Power BI Service
Admin iLink
 
Power BI Full Course | Power BI Tutorial for Beginners | Edureka
Power BI Full Course | Power BI Tutorial for Beginners | EdurekaPower BI Full Course | Power BI Tutorial for Beginners | Edureka
Power BI Full Course | Power BI Tutorial for Beginners | Edureka
Edureka!
 
What is Power BI
What is Power BIWhat is Power BI
What is Power BI
Dries Vyvey
 
Intro to power apps
Intro to power appsIntro to power apps
Intro to power apps
Agusto Sipahutar
 

What's hot (20)

Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...
Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...
Power BI Tutorial For Beginners | Power BI Tutorial | Power BI Demo | Power B...
 
Intro for Power BI
Intro for Power BIIntro for Power BI
Intro for Power BI
 
Power bi
Power biPower bi
Power bi
 
Power bi
Power biPower bi
Power bi
 
Building a Dashboard in an hour with Power Pivot and Power BI
Building a Dashboard in an hour with Power Pivot and Power BIBuilding a Dashboard in an hour with Power Pivot and Power BI
Building a Dashboard in an hour with Power Pivot and Power BI
 
Power bi introduction
Power bi introductionPower bi introduction
Power bi introduction
 
Power BI Overview
Power BI OverviewPower BI Overview
Power BI Overview
 
Power BI Overview
Power BI Overview Power BI Overview
Power BI Overview
 
Power BI for Developers
Power BI for DevelopersPower BI for Developers
Power BI for Developers
 
Power of power BI
Power of power BI Power of power BI
Power of power BI
 
35 power bi presentations
35 power bi presentations35 power bi presentations
35 power bi presentations
 
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
 
Power bi-dashboard-in-a-day-diad-mumbai-2019
Power bi-dashboard-in-a-day-diad-mumbai-2019Power bi-dashboard-in-a-day-diad-mumbai-2019
Power bi-dashboard-in-a-day-diad-mumbai-2019
 
Power bi
Power biPower bi
Power bi
 
Microsoft power bi
Microsoft power biMicrosoft power bi
Microsoft power bi
 
What is Power BI
What is Power BIWhat is Power BI
What is Power BI
 
Power BI Consultants | Power BI Solutions | Power BI Service
Power BI Consultants | Power BI Solutions | Power BI ServicePower BI Consultants | Power BI Solutions | Power BI Service
Power BI Consultants | Power BI Solutions | Power BI Service
 
Power BI Full Course | Power BI Tutorial for Beginners | Edureka
Power BI Full Course | Power BI Tutorial for Beginners | EdurekaPower BI Full Course | Power BI Tutorial for Beginners | Edureka
Power BI Full Course | Power BI Tutorial for Beginners | Edureka
 
What is Power BI
What is Power BIWhat is Power BI
What is Power BI
 
Intro to power apps
Intro to power appsIntro to power apps
Intro to power apps
 

Viewers also liked

Microsoft Power BI Overview
Microsoft Power BI OverviewMicrosoft Power BI Overview
Microsoft Power BI Overview
Netwoven Inc.
 
Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545
imeldafelicia
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
2017 iosco research report on financial technologies (fintech)
2017 iosco research report on  financial technologies (fintech)2017 iosco research report on  financial technologies (fintech)
2017 iosco research report on financial technologies (fintech)
Ian Beckett
 
Sistemas contra incendios 3
Sistemas contra incendios 3Sistemas contra incendios 3
Sistemas contra incendios 3
Fredy Huamán
 
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical Enterprise
Hortonworks
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
Amazon Web Services
 
Focus on Your Analysis, Not Your SQL Code
Focus on Your Analysis, Not Your SQL CodeFocus on Your Analysis, Not Your SQL Code
Focus on Your Analysis, Not Your SQL Code
DATAVERSITY
 
Power BI Made Simple
Power BI Made SimplePower BI Made Simple
Power BI Made Simple
James Serra
 
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&ALearn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Vishal Pawar
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
 
Complicaciones post implante coclear en adultos
Complicaciones post implante coclear en adultos Complicaciones post implante coclear en adultos
Complicaciones post implante coclear en adultos
Frank Alberto Betances Reinoso
 
Laryngitis, trachitis and bronchitis equine
Laryngitis, trachitis and bronchitis equineLaryngitis, trachitis and bronchitis equine
Laryngitis, trachitis and bronchitis equine
Dr-Mohamed Ghanem
 
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
Stuart
 
Introducing Power BI Embedded
Introducing Power BI EmbeddedIntroducing Power BI Embedded
Introducing Power BI Embedded
Mostafa
 
Cartografia.
Cartografia.Cartografia.
Cartografia.
Lara Lídia
 
Tugas 2 – 0317 (individu)
Tugas 2 – 0317 (individu)Tugas 2 – 0317 (individu)
Tugas 2 – 0317 (individu)
Linda Lestari
 
Web engineering notes unit 3
Web engineering notes unit 3Web engineering notes unit 3
Web engineering notes unit 3
inshu1890
 
Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big Data
Haluan Irsad
 
Tugas[4] 0317-[Wildan Latief]-[1512500818]
Tugas[4] 0317-[Wildan Latief]-[1512500818]Tugas[4] 0317-[Wildan Latief]-[1512500818]
Tugas[4] 0317-[Wildan Latief]-[1512500818]
wieldhant latief
 

Viewers also liked (20)

Microsoft Power BI Overview
Microsoft Power BI OverviewMicrosoft Power BI Overview
Microsoft Power BI Overview
 
Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
2017 iosco research report on financial technologies (fintech)
2017 iosco research report on  financial technologies (fintech)2017 iosco research report on  financial technologies (fintech)
2017 iosco research report on financial technologies (fintech)
 
Sistemas contra incendios 3
Sistemas contra incendios 3Sistemas contra incendios 3
Sistemas contra incendios 3
 
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical Enterprise
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
 
Focus on Your Analysis, Not Your SQL Code
Focus on Your Analysis, Not Your SQL CodeFocus on Your Analysis, Not Your SQL Code
Focus on Your Analysis, Not Your SQL Code
 
Power BI Made Simple
Power BI Made SimplePower BI Made Simple
Power BI Made Simple
 
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&ALearn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 
Complicaciones post implante coclear en adultos
Complicaciones post implante coclear en adultos Complicaciones post implante coclear en adultos
Complicaciones post implante coclear en adultos
 
Laryngitis, trachitis and bronchitis equine
Laryngitis, trachitis and bronchitis equineLaryngitis, trachitis and bronchitis equine
Laryngitis, trachitis and bronchitis equine
 
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
 
Introducing Power BI Embedded
Introducing Power BI EmbeddedIntroducing Power BI Embedded
Introducing Power BI Embedded
 
Cartografia.
Cartografia.Cartografia.
Cartografia.
 
Tugas 2 – 0317 (individu)
Tugas 2 – 0317 (individu)Tugas 2 – 0317 (individu)
Tugas 2 – 0317 (individu)
 
Web engineering notes unit 3
Web engineering notes unit 3Web engineering notes unit 3
Web engineering notes unit 3
 
Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big Data
 
Tugas[4] 0317-[Wildan Latief]-[1512500818]
Tugas[4] 0317-[Wildan Latief]-[1512500818]Tugas[4] 0317-[Wildan Latief]-[1512500818]
Tugas[4] 0317-[Wildan Latief]-[1512500818]
 

Similar to Power BI Single Page Applications Boise Code Camp 2017

Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle Cloud
Kellyn Pot'Vin-Gorman
 
BI in the Cloud - Microsoft Power BI Overview and Demo
BI in the Cloud - Microsoft Power BI Overview and DemoBI in the Cloud - Microsoft Power BI Overview and Demo
BI in the Cloud - Microsoft Power BI Overview and Demo
Christopher Foot
 
Build Interactive Analytics using Power BI
Build Interactive Analytics using Power BIBuild Interactive Analytics using Power BI
Build Interactive Analytics using Power BI
Mostafa
 
Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081
rajivmordani
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
Luis Valencia
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
Bill Wilder
 
Embed Interactive Reports in Your Apps
Embed Interactive Reports in Your AppsEmbed Interactive Reports in Your Apps
Embed Interactive Reports in Your Apps
Teo Lachev
 
Pbi iot data viz
Pbi iot data vizPbi iot data viz
Pbi iot data viz
David Moss
 
Code First with Serverless Azure Functions
Code First with Serverless Azure FunctionsCode First with Serverless Azure Functions
Code First with Serverless Azure Functions
Jeremy Likness
 
Power BI by Lamees El-Ghazily.pptx
Power BI by Lamees El-Ghazily.pptxPower BI by Lamees El-Ghazily.pptx
Power BI by Lamees El-Ghazily.pptx
Lamees EL- Ghazoly
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien
 
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
Benoit Jester
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
Igor Moochnick
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping Well
Josh Holmes
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
BizTalk360
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
Roy Kim
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
David Keener
 
CCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysisCCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysis
walk2talk srl
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and Blazor
Timothy McAliley
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
Jeremy Likness
 

Similar to Power BI Single Page Applications Boise Code Camp 2017 (20)

Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle Cloud
 
BI in the Cloud - Microsoft Power BI Overview and Demo
BI in the Cloud - Microsoft Power BI Overview and DemoBI in the Cloud - Microsoft Power BI Overview and Demo
BI in the Cloud - Microsoft Power BI Overview and Demo
 
Build Interactive Analytics using Power BI
Build Interactive Analytics using Power BIBuild Interactive Analytics using Power BI
Build Interactive Analytics using Power BI
 
Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
 
Embed Interactive Reports in Your Apps
Embed Interactive Reports in Your AppsEmbed Interactive Reports in Your Apps
Embed Interactive Reports in Your Apps
 
Pbi iot data viz
Pbi iot data vizPbi iot data viz
Pbi iot data viz
 
Code First with Serverless Azure Functions
Code First with Serverless Azure FunctionsCode First with Serverless Azure Functions
Code First with Serverless Azure Functions
 
Power BI by Lamees El-Ghazily.pptx
Power BI by Lamees El-Ghazily.pptxPower BI by Lamees El-Ghazily.pptx
Power BI by Lamees El-Ghazily.pptx
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping Well
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
 
CCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysisCCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysis
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and Blazor
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
 

Recently uploaded

writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
VyNguyen709676
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Fernanda Palhano
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
aqzctr7x
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
soxrziqu
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
AlessioFois2
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
Bill641377
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
ElizabethGarrettChri
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
Timothy Spann
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
Timothy Spann
 
一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理
一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理
一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理
y3i0qsdzb
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
Sachin Paul
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docxDATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
SaffaIbrahim1
 
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
taqyea
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
Walaa Eldin Moustafa
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
ihavuls
 
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
hyfjgavov
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
jitskeb
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
nuttdpt
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
xclpvhuk
 

Recently uploaded (20)

writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
 
一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理
一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理
一比一原版巴斯大学毕业证(Bath毕业证书)学历如何办理
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docxDATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
 
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
 
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
 

Power BI Single Page Applications Boise Code Camp 2017

  • 2. ELEMENTS OF POWERFUL DATA VISUALIZATION • Power BI: Data Visualization & Big Data Queries • Javascript: Universal Language for the Web • Single Page Application: No server state +
  • 3. WHY POWER BI? Alternative Approach Libraries Consequence Code it Yourself D3 (Data Driven Document) Hard for anyone that’s not a developer build reports and dashboards License Commercial Libraries DevExpress, Telerik, etc.. Limited drag& drop design, cannot query millions of records quickly Tableau, other.. Real costs aren’t known upfront, no right integration with Azure “Power BI is a modern business intelligence solution that brings data and analytics to more people than ever before, across all roles and disciplines within organizations…that is ‘five seconds to sign up and five minutes to wow’” (https://powerbi.microsoft.com/en-us/blog/microsoft-power-bi-receives-esri- new-technology-integration-award-for-2017/) … you can visualize millions of records quickly!
  • 5. CODE A DASHBOARD USING AN OPEN SOURCE LIBRARY (D3) OR COMMERCIAL LIBRARY (DEVEXPRESS)
  • 7. HOW DOES POWER BI WORK? 2 Design in Power BI Desktop1 Get Data Offline: CSV flat file, cached query or direct query to sql 3 Upload to Azure 4 Host in Your Own Web App Using Embedded or Rest Api (There is a difference)
  • 8. POWER BI DESKTOP • Excel-like data query • Drag and drop UI Free Download: https://powerbi.microsoft.com/en-us/desktop/
  • 10. UPLOAD POWER BI REPORTS TO AZURE • Add Power BI Embedded Resource in Portal.Azure.com • Create a Workspace Collection & Workspace – You can only create workspace from API • Upload .PBIX to Workspace (Using Rest API calls or .Net library)
  • 11. UPLOADING REPORTS PM> Install-Package Microsoft.PowerBI.Api //Instantiate PowerBI Client //Create a Workspace (if one doesn’t exist) //Upload .PBIX Microsoft.PowerBI.Api.V1.PowerBIClient Client = new PowerBIClient( new TokenCredentials(apiAccessKey, "AppKey")) {BaseUri = new Uri("https://api.powerbi.com")}; await Client.Workspaces.PostWorkspaceAsync(WorkspaceCollectionName); await Client.Imports.PostImportWithFileAsync(WorkspaceCollectionName, WorkspaceId, fileStream, datasetName); /*See https://github.com/Microsoft/PowerBI- JavaScript/wiki/Understanding-the-Embed-Process for the embed process*/
  • 12. POWER BI EMBEDDED ON YOUR WEBSITE //Install power bi client npm install powerbi-client //Reference power bi client library (in view) @Scripts.Render("~/Libs/powerbi.min.js") //Make API Call to fetch embed token (see next slide) //Instantiate report in JS window.powerbi.embed(…)
  • 13. PM> Install-Package Microsoft.PowerBI.Api //In .Net Web API Controller using Microsoft.PowerBI.Security; var embedToken = PowerBIToken.CreateReportEmbedToken( ReportCollectionName, ReportWorkspaceInternalId, ReportReportGuid, expiration, username, roles).Generate(AzureApiAccessKey); GENERATE EMBED TOKEN
  • 14. //In Javascript (ReactJS): const report = window.powerbi.embed(this.refs.ReportContainer, { type: 'report', accessToken: embedToken, id: reportId, embedUrl: settings.powerBIEndpoint, pageName: defaultPage, settings: { filterPaneEnabled: this.props.showFilters, navContentPaneEnabled: this.props.showPageNavigation } }); report.on('dataSelected', this.onReportDataSelected) .on('filtersApplied', this.onReportFiltersApplied) .on("loaded", this.onReportLoaded) .on("error", this.onReportError) .on("pageChanged", this.onReportPageChanged);
  • 15. POWER BI EMBEDDED IN YOUR APP http://powerbiembeddedreactjstypescriptspa.azurewebsites.net/ My Javascript App PowerBI Embedded IFrame
  • 16. INTERACT WITH YOUR REPORT IN YOUR EXISTING APP • Listen for events • Get/set/clear filters • Navigate Pages See https://github.com/Microsoft/PowerBI-JavaScript/wiki/Understanding-the-object- hierarchy for object model
  • 17. GOTCHAS • Licensing Costs: Signing up users for power bi rest api to build their own dashboards may require a office 365 license. • Caching: reports are caches. If you want to refresh data, you may need to build your own services to re-publish the report on an interval. • No on-premise solution at the moment (requires Azure)
  • 18. NEXT STEPS 1. Getting Started with Power BI Pluralsight Course – Mostly about configuring data model and using Power BI Desktop 2. Power BI .Net Rest API on GitHub 3. Power BI Javascript Library on GitHub 4. Get started with Power BI Embedded Microsoft Tutorial 5. Power BI Single Page Application Live Demo Site 6. PASS Hands on Workshop