Breaking the Kubernetes Kill Chain: Host Path Mount
Using Power BI and Azure as analytics engine for business applications
1. Using Power BI & Azure as Analytics Engine
for Business Applications
For IT Pros & Developers
Finland Azure User Group - Meetup - 13.06.2017
2. Presenter
• 2006 – 2012 Entrepreneur / Consultant / Full stack developer
– Designed & developed multiple messaging/video/audio/mobile
platforms and SaaS products
– Utilized heavily open source technologies: Linux, PHP, Java,
Python, PostgreSQL/MySQL…
• 2012 - Joined Digital Illustrated
– Consulting Business Intelligence, Azure, Office 365 and Dynamics
365 implementations
– Focus on generating business value, implementing intelligent
end-to-end architectures and optimizing end user experience
https://www.linkedin.com/in/joukonyholm/ @JoukoNyholm
3. • Where is Power BI going and how this is related
to Business Applications
• Planning an analytics & reporting architecture
• Implementation examples
Agenda
4. Presentation goal:
Answer to the question if you should consider
Power BI as the analytics engine of your
Business Applications and if so, why
5. Where is Power BI going
and how this is related
to Business Applications
6. Where is Power BI going
• SharePoint based generation 1
of Power BI is only a fading
memory
• Renewed Power BI (v2.0) was
launch in the summer of 2015
– Azure-based architecture
– New portal & clients
7. Rapid development
• Monthly major updates, weekly minor updates
• Community involved in development through
ideas.powerbi.com forum
• Today
– 499 ideas implemented
– 44 where implementation started
– 65 planned
– 328 under review
• There were some shortcomings in features until
Q2/Q3 2016, but after major updates around
that time, generally speaking Power BI feature
set has been at level with competitors or has
surpassed them
8. Recognized by Gartner
2/2017
Magic Quadrant for
Business Intelligence and
Analytics Platforms
Leader for
completeness of vision
2nd in Ability to execute
9. Role of Power BI
• Positioned as the main analytics &
reporting tool in Microsoft ecosystem
• Beginning to be the main analytics layer
of Microsoft’s own products
– Azure, Office 365, SharePoint, Dynamics 365 /
Sales / XRM / AX / NAV…
– SQL Server, SSAS/SSRS
• Content packs are available, but often these
are not very useful
– Can be used for quick demos though
– Customers are different so systems have
different customizations & processes
configured and different KPIs are required
10. Power BI and Excel
complementing each other
1. Publishing from Excel to Power BI
2. Importing Excel to Power BI
4. Merging Excel and Power BI
charts in Dashboards
3. Using Power BI datamodel with
Excel Pivot Tools
5. Power BI can read multiple
Excel files at once using folder
connector
11. Power BI & Azure
Power BI connector
available for most
applicable Azure
services
14. Connecting On-premises data sources:
On-Premises gateway
CONFIDENTIAL
On-premises data
sources
Files, SharePointSQL Server
SQL Server
Analysis Services
Other
data sources
Cloud services
PowerApps Microsoft FlowPower BI
Azure Service Bus
Application Gateway
Data source connection credentials can only be
decrypted by the gateway
Gateway Cloud Service
Data source connection credentials are encrypted
Read access, scheduled refresh, live connection
Live connection, CRUD support (create, read, update and delete)
Azure Logic Apps
15. Power BI, PowerApps, Flow:
Measure, Act, Automate
Power BI significant
piece of the puzzle
18. Examples of key questions:
- Is real time analytics required?
- Streaming data requirements?
- What is acceptable data refresh frequency?
19. Example 1:
Analysis of Dynamics Sales Data using WEB API
– Sales Data is fetched using Power BI OOB Dynamics 365 connector (uses
WEB API, ODATA 4.0)
– Refresh schedule can be up to 8 times a day, but it is not real time
• No limits with refresh schedule with Premium licence
Power BI Dynamics Sales
Connector, Import Mode
20. Example 2:
Historization and advanced analytics
of Dynamics Sales Data
– Dynamics Sales data is loaded into Data Warehouse using SSIS as ETL tool
– DW integration enables e.g. historization and trend reporting and optimization of
data for self-service analytics scenarios
• Number of open opportunities over time
• Expected revenue of open opportunities over time
– SSAS is optional, required to provide pre-calculated KPIs or if RLS over
DirectQuery is required
– Typical data refresh schedule is once a day, but can be multiple times a day. Not
real time though.
DirectQuery or
import mode
21. Example 3:
Near real time reporting of Dynamics Sales Data
Instead of connecting to Dynamics Web API,
we use Data Export Service to replicate data
to Azure SQL DB. Delta sync supported.
DirectQuery
22. Requirements for Integrations
• Authentication
– Power BI is able to tackle typical authentication types,
but e.g. custom OAuth APIs require a bit of trickery
– Custom headers can be defined
• APIs
– OData, JSON, XML… Many APIs supported, but there are
limitations as well
• Databases
– Power BI has good support for DB connections, but there are
scenarios where other integration tools come into play
– SQL Server, IBM DB2, Oracle, PostgreSQL, MySQL, SAP Hana /
BW, ODBC supported…
23. Power BI & Connectors
Files
• Excel
• CSV
• XML
• Text
• JSON
• Folder
• SharePoint folder
Databases
• SQL Server Database
• Access Database
• SQL Server Analysis Services
• Oracle Database
• IBM DB2 Database
• IBM Informix Database
• MySQL Database
• PostgreSQL Database
• Sybase Database
• Teradata Database
• SAP HANA Database
• SAP Business Warehouse
• Amazon Redshift
• Impala
• Snowflake
Online services
24. Power BI & custom integrations
Custom connectors using R
Data Connector SDK
Custom connectors using
M-language (PowerQuery)
25. Tips! Debugging
Enable tracing, add custom
log events to your queries
Use Fiddler or Wireshark to see what is
actually happening in the socket. Some
connectors are a bit funky.
DAX Studio for profiling
26. Integrations, other tools
If you need
- Advanced ETL processes (e.g. incremental loading) or
- to use other Data Storage than Power BI or
- there is no suitable connector available
SSIS and Data Factory are the tools to check out
27. Requirements for
IAM & Permission Model
• Internal and/or external users?
– Azure AD, external sharing, Power BI Embedded => new API coming…
• Source system permissions need to be replicated programmatically?
– Copying permission tables and using Row Level Security
– Can be done in Power BI report data model (RLS) or SQL DB / SSAS / SSRS
• AD groups (static or dynamic) to be used?
– Can be done in Power BI report data model (RLS)
– Or controlled by report sharing permissions (Dashboard sharing or App
Workspace)
• Manual permission model?
– Permission configured manually
for each individual user
28. Requirements for
Data Storage
• Amount of Data?
– Power BI data model has 1GB limit, but it is compressed data meaning
typically hundreds of millions of rows
– No limit with Premium licence
• Structure of Data?
– Relational vs. non relational => NoSQL
– Power BI supports e.g. blobs & DocumentDB
• Update frequency?
• Access frequency?
– DirectQuery vs. scheduled imports
29. Requirements for
Data Model & Semantic layer
• Data Model complexity?
– Power BI inbuilt Data Model vs SSAS / Azure Analysis Services
• Metadata?
• Master data?
• Data Quality?
30. Architecture example using
Azure Analysis Services & Azure SQL DW
Visma DV Modeller
Data orchestrator for
Data Vault 2.0 -based Data Warehouses
31. Requirements for
Analytics & report functionality
• Visualizations
• Drill downs
• Export features: Excel, PowerPoint, PDF
• Distribution via email or as a file
• Alerts: Push notifications & emails
• Mobile optimization
• Advanced Analytics, Machine Learning
– Azure ML, R-libraries
32. Power BI visualizations
In addition to OOB visualizations there are
• Custom visuals https://store.office.com/en-
us/appshome.aspx?productgroup=PowerBI
• R libraries
• You can create your own visuals using R or D3.js
• Use graphics as visuals https://synoptic.design/
33. Requirements for application development
Workflows & Triggers
Power BI connectors available for Flow & Logic Apps
34. Requirements for application development:
Embedding
Power BI Embedded
3rd party plugin
REST & JS API
SharePoint Power BI App
Excel & PowerPoint Embedding
New API Coming
35. Requirements for application development:
REST API
Power BI rest API allows you to
• Authenticate Power BI REST operations with
Azure Active Directory OAuth2
• Create and get datasets
• Set a retention policy to automatically clean
up old data
• Get and update table schemas
• Add and delete rows
• Get groups
• Import PBIX or Excel files
• Get tiles
• Get reports
http://docs.powerbi.apiary.io/#
39. Other factors to think when selecting your
analytics engine
• Licencing & total cost of ownership (TCO)
• Support & training model
• Development process
• Partner
40. Especially if investment to Office 365 and/or
Azure platform has been made, it is always
sensible to count Power BI as an option.
For many uses cases, Power BI is the most
functional and cost-effective choice due to
rapid development process and inexpensive
licencing.
42. Contact information
JOUKO NYHOLM
Consultant
j o u k o . n y h o l m @ d i g i t a l i l l u s t r a t e d . c o m
+358 40 722 4481
DIGIT AL ILLUST RAT ED
Salomonkatu 1
00100 Helsinki
FINLAND