Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Subtitle
Madrid 2017
Dynamics insights for SMB Partners
Subtitle
Do's and Don’ts in Power BI Projects: lessons learned from Power BI
implementations
Author
Björn Lüers, Robert Ipach, Julian Wissel
www.directionsemea.com
AgendaOur key-messages today
1
2
3
4
Definition of reporting requirements
Choosing the right visual and visualizing best practices
Knowing DAX and data modeling to master Power BI
Deployment and Development in Power BI
5 Knowing when to use which NAV-tables in Power BI
www.directionsemea.com
• Non-trivial task to identify goals and requirements
• Strive for big picture
• Gather reporting requirements – brainstorming!
• Breakdown of business goals
• Give inspiration
• Possible KPI-Hierarchy:
• We want every person in our country to use at least one of our products
• Become market leader
• New product A should reach x EUR sales in 2018
• Market share of product category y should become more than 25 %
Defining reporting requirements - approach
www.directionsemea.com
• Find relevant business questions/decisions:
• Should we grant a high discount that is requested by a customer?
• How much marketing effort should we invest into a certain segment?
• Should we offer new or additional products toa customer?
• Find facts that could drive these decisions – e.g. about granting a high discount
• Profit margin of customer – change over time
• Customer‘s lifetime value
• Cross-selling potential of customer
• …
Defining reporting requirements – decisions & facts
www.directionsemea.com
• Group facts, e.g. Profit-margin related
• Current profit margin
• Historic profit margin
• Profit margin of similar customers
• Average sales discount
• Identify measures and dimensions that are necessary for each group
• Facts
• Sales figures for current and last x years
• Sales
• Cost of sales
• Profit margin (if directly available)
• Granted sales discounts
• Dimensions
• Customer dimension
• Product dimension
• Salesperson dimension
Defining reporting requirements – cluster and focus
www.directionsemea.com
• What we have: requirements, facts, measures and dimensions
• What we want to reach: implementation concept of report incl. measures and visuals
• Focus on one group of requirements
• Define report design
• Define data model and connections
• Define data source and transformation
• Think and plan from top to down, develop into theopposite direction!
From requirements to implementation concept
www.directionsemea.com
AgendaOur key-messages today
1
2
3
4
Definition of reporting requirements
Choosing the right visual and visualizing best practices
Knowing DAX and data modeling to master Power BI
Deployment and Development in Power BI
5 Knowing when to use which NAV-tables in Power BI
www.directionsemea.com
• Visualizing data seems intuitive, BUT isn‘t
• Do not start thinking with empty PBI Desktop file, instead start from KPI-hierarchy
• Use visuals reference to choose the right visual
Tips & trick for creating good looking and insightful reports
www.directionsemea.com
Tips & trick for creating good looking and insightful reports –visuals guide from SQLBI.com
www.directionsemea.com
Tips & trick for creating good looking and insightful reports –best practices
www.directionsemea.com
Bad example
www.directionsemea.com
AgendaOur key-messages today
1
2
3
4
Definition of reporting requirements
Choosing the right visual and visualizing best practices
Knowing DAX and data modeling to master Power BI
Deployment and Development in Power BI
5 Knowing when to use which NAV-tables in Power BI
www.directionsemea.com
Data Modeling
• Power BI provides great flexibility to refine the data and add measures
• Measures are defined in DAX – knowledge is required to utilize the power of Power BI
A lot of things can happen between the source data and the report
NAVSource Data
Power BIData Model
Power BIReport
www.directionsemea.com
How DAX expressions are evaluatedFilters „flow“ along relationships
Date Customer No Net Sales
01.01.2017 1 200
04.01.2017 2 500
15.01.2017 1 200
03.02.2017 1 300
11.02.2017 2 1000
Customer No Customer Name1 John2 Paul
Net Sales = SUM('Sales'[Net Sales (Source)])
Data modelReport
www.directionsemea.com
How DAX expressions are evaluatedFilters „flow“ along relationships
Date Customer No Net Sales
01.01.2017 1 200
04.01.2017 2 500
15.01.2017 1 200
03.02.2017 1 300
11.02.2017 2 1000
Customer No Customer Name1 John2 Paul
Net Sales = SUM('Sales'[Net Sales (Source)])
ReportData model
www.directionsemea.com
How DAX expressions are evaluatedFilters „flow“ along relationships
Date Customer No Net Sales
01.01.2017 1 200
04.01.2017 2 500
15.01.2017 1 200
03.02.2017 1 300
11.02.2017 2 1000
Customer No Customer Name1 John2 Paul
Net Sales = SUM('Sales'[Net Sales (Source)])
Report
www.directionsemea.com
Changing filter contextManipulate the filters independent of user selection
[Net Sales] / [Net Sales (all customer)]
CALCULATE('Sales'[Net Sales]; ALL(Customer))
www.directionsemea.com
Time intelligenceWide range of formulas to support time-based analysis
CALCULATE('Sales'[Net Sales]; DATEADD('Date'[Date]; -1; YEAR))
www.directionsemea.com
Currency ConversionLooping over tables and flexible lookups
SUMX(Sales; Sales[Net Sales (Source)]
* LOOKUPVALUE('Conversion Rates'[Rate]; 'Conversion Rates'[Currency Code]; Sales[Currency Code]; 'Conversion Rates'[Month]; Year(Sales[Date])*100+Month(Sales[Date])
))
www.directionsemea.com
Measure selection with slicerSwitch measures based on user selection
if(SELECTEDVALUE('Measure Selection'[Select Measure]) = "Quantity"; [Quantity]; [Net Sales])
www.directionsemea.com
Do‘s and Don‘ts
• Use date tables• Use DAX-formatter
(www.daxformatter.com)• Use CALCULATE-function instead of SUMX
(performance)• Validate your data (maintain referential
integrity)
• Don't denormalize everything (Power BI isno excel pivot-table!)
• Don‘t build gigantic data models (focus on a certain business area)
• Don‘t use implicit measures• Don‘t solve with DAX if solution in data
model is possible (modeling first approach)
www.directionsemea.com
AgendaOur key-messages today
1
2
3
4
Definition of reporting requirements
Choosing the right visual and visualizing best practices
Knowing DAX and data modeling to master Power BI
Deployment and Development in Power BI
5 Knowing when to use which NAV-tables in Power BI
www.directionsemea.com
• Use Power BI Desktop for development
• Keep version history
• No integrated source control in Power BI
• Documentation
• Documentation of datasets and interfaces (ODATA) is essential
• Use SharePoint
Development Environment
www.directionsemea.com
• Dataload
• Loading large tables time consuming
• Use small development database
• Pre-filter your ODATA Feeds
• Use local Excel and Power Query to buffer data locally
• Limit your data model size
• Large models slow the development process
• Create separate files for different domains (Sales, Purchasing, Logistics…)
• Prepare your source data
• Consider using ETL tools to prepare your source data
• Especially when sources are used in many reports (shared dimensions)
• Use dataset as source
• Reduce redundancies
• Improve multiuser development
Development Tips and Tricks
www.directionsemea.com
• Restrict data access by rows
• Avoid duplication reports
Row Level Security
Role “Southern Germany”Role “Northern Germany”
• Branches
• Sales Areas
• …
www.directionsemea.com
Sharing Dashboards
Collaboration in Power BICollaborating and providing content in Power BI
Power BI-AppsApp Workspaces
Organisational content packs
Subtitle
www.directionsemea.comOur presentation title
App WorkspacesCollaboration in Power BI
www.directionsemea.com
• Used to collaborate in teams to create content
• Development teams
• Departments
• Content can not be copied between workspace
• Content in other workspaces can not be referenced
• Edit Rights
• Download PBIX files
• Analyze in Excel
• use dataset as source
• Row Level Security not working
• Read Only
• Limited options
• Row Level Security can be used
Collaboration - App Workspaces
• Use App Workspaces to separate Test and Live environment
• Use Prototyping workspaces to create a common Playground for business users
• Don’t use your personal workspace to store important work
• Don’t use App Workspaces to share content
Subtitle
www.directionsemea.comOur presentation title
Publishing ContentSharing Dashboards, Apps
and Content Packs
www.directionsemea.com
• Use content packs to provide full flexibility for the users.
• Use naming convention for content pack objects.
• Use Apps as your standard method if the flexibility of content packs is not required.
• Use dashboard sharing only for basic reporting.
Publishing Content
acce
ssre
po
rtp
ages
An
alyz
ein
Ex
cel
edit
rep
ort
s
use
dat
aset
asso
urc
e
do
wn
load
P
BIX
Ro
wle
vel
secu
rity
Sharing dashboards
Content packs
Apps
www.directionsemea.com
AgendaOur key-messages today
1
2
3
4
Definition of reporting requirements
Choosing the right visual and visualizing best practices
Knowing DAX and data modeling to master Power BI
Deployment and Development in Power BI
5 Knowing when to use which NAV-tables in Power BI
www.directionsemea.com
Handling NAV-data - fact tables and dimensions
• What NAV-tables to use? Does this help?
• Typical dimension tables from NAV
• Customer
• Vendor
• Salesperson
• Location
• Date (Posting Date, Order Date, Shipment Date etc.)
• Item
• G/L-Account
• Fixed Asset
• Normalize NAV-Tables into coherent dimension – e.g. product dimension instead of table of item, G/L-Account, Fixed Asset etc.
• Typical fact tables
• All entry tables
• Posted or unposted documents
• Different pro’s and con’s
www.directionsemea.com
Handling NAV-data - fact tables pro‘s and con‘s
www.directionsemea.com
Item Ledg. + Cust. Ledg. Entries
Customer Ledger Entries
Item Ledger Entries
Anti-Join
Same Doc. No. / Posting Date
Item Ledger Entries
Result ofAnti-Join
www.directionsemea.com
• Join our workshop Today 16:30 – Room Potsdam + Baden
• www.navida.eu
Thank you! Questions?
www.directionsemea.com
• Row level security driven by security filter in NAV
Use NAV to control PBI