power bi for .net developers
TRANSCRIPT
Power BI for .NET DevelopersHEATHER SHAPIRO
TECHNICAL EVANGELIST, MICROSOFT
@microheather
Power BI at a GlancePower BI is a suite of cloud-based business analytics tools to analyze data and share insights. Monitor your business and get answers quickly with rich dashboards available on every device.
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
What will we cover?Why data visualizations and BI are important
Difference between Power BI Tools
Examples for Power BI Embedded
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Why we need data viz
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
HARD TO UNDERSTAND
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
TOO MANY NUMBERS
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
BORING MEETINGS
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Visualizations gone wrong
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
TOO MANY VARIABLES
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
…?/
Turning data into business insights is challenging
Common BI challenges include…
Multiple data sources Data residing in SaaS solutions, and other external locations, is difficult to access and refresh securely
End-to-end view Data often resides in disparate locations, making it difficult to see a complete picture of your business
Right data for the right users at the right time
Different roles have different needs, and business users need the latest operational data
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
A new generation of BI
Everyone
3rd waveEnd user BI
Today, BI extends to everyone
Analyst to end user
2nd waveSelf-service BI
IT to end user
1st waveTechnical BI
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
A new generation of BI
5,000,000+
210+
200,000+
Power BI: experience your data
146.03K145.84K145.96K146.06K 40.08K38.84K39.99K40.33K
Live dashboards & reports
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Mobile Apps
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Pre-built solutions include dashboards, reports, and data models available out-of-the-box for SaaS services or built by your organization
Get started quickly
Experience your data in new ways
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Seamless integration with O365
Why Power BI?View all your data, whatever it is
Be informed: always in real time
Ask questions, get answers
End chaos: everyone on the same page
Make data –driven decisions, from anywhere
Share insights on websites or blogs
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Power BI Desktop
Power BI Desktop Create Power BI ContentConnect to data and build reports for Power BI
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
Prepare, explore, report and collaborate with Power BI Desktop• Acquire and prepare data with
extensive query capabilities
• Establish data structure and transform
and analyze data
• Explore data in new ways through a
freeform, drag-and-drop canvas
• Run R scripts directly in Power BI
Desktop
• Author reports with a broad range of
modern data visualizations
Power BI Desktop
Share &
collaborate
Report
Explore
Prepare
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
File Database Azure Online Services Other
• CSV• Excel• JSON• SharePoint
Folder• Text• XML
• Access• Amazon Redshift• DirectQuery for
SQL Server• IBM DB2• IBM Informix• Impala• MySQL• Oracle• PostgreSQL• SAP Business
Warehouse• SAP HANA• Snowflake• SQL Server• SQL Server
Analysis Services• Sybase• Teradata
• Blob Storage• Data Lake Store• DirectQuery for
SQL Database• DocumentDB• HDInsight• HDInsight Spark• Marketplace• SQL Database• SQL Data
Warehouse• Table Storage
• appFigures• Azure Enterprise• comScore Digital
Analytics• Dynamics 365 for
Financials• Dynamics CRM Online• Exchange Online• Facebook • GitHub• Google Analytics• MailChimp• Marketo• Mixpanel• Planview Enterprise• ProjectPlace• QuickBooks Online• Salesforce
• SharePoint Online• Smartsheet• Spark• SparkPost• SQL Sentry• Stripe• SweetIQ• Troux• Twilio• tyGraph• Webtrends• Zendesk
• Active Directory • Blank Query• Hadoop File (HDFS)• Microsoft Exchange• OData Feed• ODBC• OLEDB• R Script• SharePoint List• Web
• Use Query functionality to connect to variety of data sources beyond those in powerbi.com
• Navigate data quickly with in-memory processing that optimizes performance
• Pare down datasets to only what’s needed by editing queries before data loading
• Ability to automatically find related tables when connecting to database sourcesData sources available in Power BI Desktop
Share &collaborate
Report
Explore
Prepare
Consolidate data from a broad range of sources
Power BI Desktop
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
Data Connectivity Modes in Power BI Desktop
Share &
collaborate
Report
Explore
Prepare
Power BI Desktop
Import DirectQuery Live/Exploration
Overview • ETL
• Data download
• Select specific tables
• No data download
• Queries triggered from
Report visuals
• Explore source objects
from Report surface
• No data download
• Queries triggered from
Report visuals
Supported Data
Sources
• All sources (>60 sources) • SQL Server
• Azure SQL Database
• Azure SQL Data Warehouse
• SAP HANA
• Oracle
• Teradata
• SQL Server Analysis
Services (Tabular &
Multidimensional)
Max # of data sources
per report
• Unlimited • One • One
Data Transformations • All transformations
(100’s)
• Partial support (varies by
data source)
• None
Mashup Capabilities • Merge (Joins)
• Append (Union)
• Parameterized queries
• Merge (Joins)
• Append (Union)
• None
Modeling Capabilities • Relationships
• Calculated Columns &
Tables
• Measures
• Hierarchies
• Calculated Columns
• Measures
• Change Column Types
• None
With Power BI Desktop, you can connect to your data in three ways: Import,
DirectQuery, Live/Exploration
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
• Remove rows
• Rename/Remove tables and
columns
• Change a data type
• Delete Relationships
• Pivot columns and group rows
• Modify a table name
• Identify and fix errors
• Merge or append queries to
combine data from multiple
queries into a single query
• Extract week day, month name,
hour from date/time values
Common data-shaping tasks
• Transform data to fit your needs
using intuitive UI
o Select data for inclusion
o Cleanse data and remove errors
o Precisely tune the query step
sequence: re-order, add, edit or
delete steps as needed
o Modify data types to support specific
calculation requirements
• Very powerful for advanced
scenarios such as Mashups
• Run R scripts
Share &
collaborate
Report
Explore
Prepare
Shape data into the format and structure you need
Power BI Desktop
Shape and combine data
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
• Automatically create a model by importing data
o Relationships are detected automatically, data is
categorized and default summarization applied
o Create relationships via drag & drop between tables
• Refine models to enable complex calculations
• Use automatically generated measures, create
custom measures, or create Calculated Tables
with Data Analysis Expressions (DAX) formulas
• High-performance, in-memory engine
• Secure your data at the row level by defining
security filters for Roles or in the model
Produce rich data models using formulas and relationships
Share &
collaborate
Report
Explore
Prepare
Power BI Desktop
DAX Function Reference
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
• Explore data in a variety of ways and
across multiple visualizations
o Pivot and slice data
o Drill into and across datasets
o Date sort and filters including min, max
o Quick calc functions
o Change visualization types
o Use built-in analytical functions: group, bin,
top n, include/exclude, forecast, …
• Select, transform and mashup data via
freeform, drag-and-drop canvas
• Filter data and use cross-filters
• Run R scripts and use R-powered visuals
Share &
collaborate
Report
Explore
Prepare
Explore your data with freeform, drag and drop canvas
Power BI Desktop
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
• Depict data in compelling reports that tell stories using a range of interactive visualizations
• Use data from many sources in a single, consolidated report
• Ability to incorporate custom visualizations
• Integrate R scripts and R-powered visuals
• Create layouts specific for your mobile device
• Build reports with KPI trends
• Change color, format and customize visualizations
• Linear or Logarithmic scales in Y-axis
• Customizable tooltips
Deliver valuable insights with customizable visual reports
Share &collaborate
Report
Explore
Prepare
Power BI Desktop
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Feature
• Save Power BI Desktop report files
and easily publish them to Power BI
• Share as appropriate with other
Power BI users in your organization
• Copy table, cells or columns to
clipboard
• Use Power BI template (.pbit file) to
save and share the definition of a
report, data model and queries, not
actual data
Share &
collaborate
Report
Explore
Prepare
Share reports, visualizations and data with a broad audience
Power BI Desktop
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Create compelling interactive reports
Embed easily for faster time to value
Deploy quicklyand manage with ease
You have the app. You have the data. Bring data to life inside your app with Power BI Embedded
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Power BI EmbeddedAn easy way to embed Power BI reports in web
and mobile apps
No logins are required or o365 AD accounts
A new feature that has been announced in BUILD 2016
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Is the app exclusively used
by internal employees?
Authentication
Use PowerBI.comREST APIs
User licensing
Report authoring
Via PowerBI.com Azure Active Directory
Via application, using Power BI app tokens N/A
End-User PowerBI.com subscription
Consumption based, via Azure No end-user license required No end-user license required
Power BI Desktop and Power BI.com subscription
Power BI DesktopAzure subscription
PowerBI.com subscription and/or Power BI Desktop
Choose the right Power BI embedding option
Do users need to
be authenticated?Yes Yes
No No
Use PowerBI.com publish to web
Use Power BI Embedded
Learn more Dev.powerbi.comhttps://azure.microsoft.com/en-us/services/power-bi-embedded/
https://powerbi.microsoft.com/en-us/publishtoweb/
Embedded ScenariosFully interactive reports that were authored in the Power BI Desktop can be embedded within your own application using a new application token authentication model.
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Embedded ScenariosIndependent software vendors and customers building customer facing applications can use the Power BI Embedded service, and the Power BI SDK, to embed interactive reports.
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Embedded ScenariosAs a developer, you can use the Power BI visualization framework to create custom visualizations that can be used in your own app.
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
What are the differences Integrating Power BI requires the following:
AAD app registration
requires users to login with o365 credentials
Blog post: http://www.mostafaelzoghbi.com/2016/04/integrate-power-bi-report-into-app.html
Power BI Embedded: No login is needed for Users
No AAD app registration
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
@microheatherHEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
HOW IT WORKS
Authenticating and Authorization The Power BI Embedded service uses Keys and App
Tokens for authentication and authorization, instead of explicit end-user authentication.
Two Ways to authenticate Keys: From Power BI Embedded in Azure Portal (Access Keys)
App Token: are used for all embedding requests. They’re designed to run client-side so they’re restricted to a single report. App tokens are JWT (JSON Web Token) that is signed by one of your keys.
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
Getting Started Azure subscription
Provision a “Power BI Workspace Collection” from Azure portal
Create a workspace into Power BI workspace collection
Import a (.pbix) report file into a workspace
Embed a report with one html tag into your application
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
HOW TO CREATE A WORKSPACE
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
aka.ms/powerBiEmbedExampleSteps
ExampleDownload link: aka.ms/PowerBiEmbedExample
Run ProvisionSample console app: Step #5: To create a workspace
Step #6: To import pbix report file into a workspace
Step #7: To update a connection string for imported report
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
DEMO
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
RESOURCES Blog Posts by Coworkers:
mostafaelzoghbi.com/2016/04/integrate-power-bi-report-into-app.html
Power BI Embedded homepage: azure.microsoft.com/en-us/services/power-bi-embedded/
Ch9 Video Series: channel9.msdn.com/Blogs/MostafaElzoghbi/Power-BI-Embedded-
Explained-Part-1
Power BI Embedded Example Steps: aka.ms/powerBiEmbedExamplesteps
Power BI Embedded Example Github: aka.ms/PowerBiEmbedExample
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
CONTACT ME Email: [email protected]
Twitter @microheather
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
HEATHER SHAPIRO | TECHNICAL EVANGELIST, MICROSOFT
@microheather
THANKS!