- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content

Power BI Dashboards for Dynamics 365 Finance & Operations via the Common Data Service - Part 1
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Introduction
As Dynamics AX moves to the cloud as Dynamics 365 Finance and Operations, certain patterns used in the past, like "Bring Your Own Database" (BYOD) for reporting, must necessarily change to fit the Software as a Service (SaaS) model. This is the result of not having the same access to the underlying SQL database for Dynamics AX in Dynamics 365. Luckily, Microsoft has provided new tools such as the Common Data Service (CDS) and Power BI Dataflows that put a new spin on the BYOD pattern.
Old and Busted
Well, OK, not completely busted if you are still dealing with Dynamics AX on-premises but if you are a fan of the Men in Black (MIB) franchise, you may get the reference.
Dynamics AX On-Premises
With Dynamics AX on-premises, a common pattern that emerged for reporting was the concept of BYOD, which looked something like the following diagram:
In this pattern, an Extract, Transform, Load (ETL) tool, like SQL Server Integration Services (SSIS) was used to move data out of the transactional Dynamics AX database into another database configured for reporting purposes. This kept the load from users running reports from slowing down the transactional system as these SSIS packages were most often configured to perform incremental loads of data to this reporting database. Power BI Desktop could then be used to connect to the reporting database either via Import or Direct Query.
Dynamics 365
When Dynamics 365 came on to the scene, IT personnel lost the direct access to the underlying transactional SQL database for Dynamics and in its place were tools such as OData endpoints and the "Entity Store". Power BI Desktop could connect directly to the OData endpoints but this placed a load on the production Dynamics system. In addition, the OData endpoints could be challenging to work with as certain limitations arose when performing data ingest for millions of records.
The New Hotnesss
Continuing with our MIB theme, Microsoft released new tools, methods and patterns to address some of the shortcomings of the early days of Dynamics, "The New Hotness". Most notably, Microsoft released the Common Data Service, a sort of state engine for data across the Microsoft business applications landscape (Dynamics, PowerApps and Flow). In addition, Microsoft released Power BI dataflows, a way to create reuseable Power Query queries, which just so happened to also integrate with the CDS.
This pattern creates a powerful new spin on the BYOD concept, providing the ability to easily extract data from the underlying data store without the limitations of OData as well as keeping the load from reporting from impacting the underlying transactional database of Dynamics 365.
Why Use the Common Data Service?
There are numerous reasons why using the CDS is attractive, including:
- Easy to manage – Both the metadata and data are stored in the cloud. You don't need to worry about the details of how they're stored.
- Easy to secure – Data is securely stored so that users can see it only if you grant them access. Role-based security allows you to control access to entities for different users within your organization.
- Access your Dynamics 365 Data – Data from your Dynamics 365 applications is also stored within the Common Data Service allowing you to quickly build apps which leverage your Dynamics 365 data and extend your apps using PowerApps.
- Rich metadata – Data types and relationships are leveraged directly within PowerApps.
- Logic and validation – Define calculated fields, business rules, workflows, and business process flows to ensure data quality and drive business processes.
- Productivity tools – Entities are available within the add-ins for Microsoft Excel to increase productivity and ensure data accessibility.
- Avoid OData – It’s messy and hard to deal with
Why Use Dataflows?
As with the CDS, there are also numerous advantages to using using dataflows, including:
- Cloud-based – Eliminates Power BI Desktop as the intermediary, keeps data fully in the cloud
- Easy to Manage - Fully managed software as a service. You don't need to worry about the details of how they're stored.
- Reusable – Dataflows provide a single location for queries as a “single source of the truth” for importing entities.
- Leverage Power Query – Dataflows are built on the same technology as used in the Power BI Desktop
- Can be used in Power BI Desktop and Service– Dataflows can be leveraged in both the Power BI Desktop and the Service
How To Do It?
The process to link Dynamics 365 Finance & Operations to Power BI via the CDS involves seven main steps. These steps include:
- Build the CDS Environment – Creates and new CDS environment and associated database
- Create a Connection – Creates a connection using specific credentials to a type of application
- Create/Edit Entity (OPTIONAL) – Customize or create entirely new entities in the CDS
- Create a Connection Set – Creates a connection between two applications (in this case Dynamics 365 Finance & Operations and the CDS
- Create and Run a Project – A project creates a task sequence to execute that synchronizes the environments
- Create the Dataflow – Creates a link between the CDS environment and Power BI
- Build the Report – Use the dataflow to create a Power BI report
The rest of the posts in this series will demonstrate in detail how to implement these seven steps to linking Dynamics 365 to Power BI via the CDS.
Summary
Moving from Dynamics AX on-premises to Dynamics 365 requires new tools, methods and patterns to perform old tasks, such as using BYOD for reporting. The CDS and dataflows are integral tools that facilitate the new pattern for BYOD in the cloud. Even better, this new method requires far less time, effort and technical skill to implement. In fact, everything can be done in a web browser with zero code! Read the rest of this series to find out how.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
- Dynamic Row-Level Security (RLS) Implementation in...
- Migrating from Power BI Premium to Microsoft Fabri...
- How to Use the Numeric Range Parameter in Power BI
- Power BI Report subscriptions does not respect RLS
- Programmatically deploy Semantic Models and Report...
- Retaining Slicer Selection Between Bookmarks Using...
- TOP DAX function for everyday use - Filter Functio...
- 🏆 Power BI DataViz World Championships | Week 4 F...
- 🏆 Power BI DataViz World Championships | Week 4 W...
- AI-Driven Approvals: Smarter SOX Compliance Withou...
-
BunzietheBoo
on: 🏆 Power BI DataViz World Championships | Week 4 F...
-
thefarside
on: 🏆 Power BI DataViz World Championships | Week 4 W...
- Magudeswaran_MR on: How to Calculate Cumulative Sum in Power BI
-
Dera__Igboejesi
on: 🏆 Power BI DataViz World Championships | Week 3 F...
- M_S_MANOHAR on: Dynamic Subscriptions
-
LucasKoch2900
on: 🏆 Power BI DataViz World Championships | Week 3 W...
-
slindsay on: 🏆 Power BI DataViz World Championships | Week 4 |...
-
JamesDBartlett3
on: PBIP fx hack: dynamic expressions for properties -...
- TBH on: How to add Gradient Text in Power BI dashboard
-
Jasmine_319
on: 🏆 Power BI DataViz World Championships | Week 2 F...
-
How to
662 -
Tips & Tricks
630 -
Events
130 -
Support insights
121 -
Opinion
81 -
DAX
66 -
Power BI
65 -
Power Query
62 -
Power BI Dev Camp
45 -
Power BI Desktop
40 -
Roundup
38 -
Power BI Embedded
20 -
Time Intelligence
19 -
Tips&Tricks
18 -
Featured User Group Leader
16 -
PowerBI REST API
12 -
Dataflow
10 -
Power Query Tips & Tricks
8 -
finance
8 -
Data Protection
8 -
Power BI Service
8 -
Direct Query
7 -
Power BI REST API
6 -
Auto ML
6 -
financial reporting
6 -
Data Analysis
6 -
Power Automate
6 -
Data Visualization
6 -
Python
6 -
Income Statement
5 -
Dax studio
5 -
powerbi
5 -
service
5 -
Power BI PowerShell
5 -
Machine Learning
5 -
community
4 -
RLS
4 -
M language
4 -
Paginated Reports
4 -
External tool
4 -
Power BI Goals
4 -
PowerShell
4 -
Desktop
4 -
Bookmarks
4 -
Line chart
4 -
Group By
4 -
Data model
3 -
Conditional Formatting
3 -
Visualisation
3 -
Life Sciences
3 -
Administration
3 -
M code
3 -
Visuals
3 -
SQL Server 2017 Express Edition
3 -
R script
3 -
Aggregation
3 -
calendar
3 -
Gateways
3 -
R
3 -
M Query
3 -
Webinar
3 -
CALCULATE
3 -
R visual
3 -
Reports
3 -
PowerApps
3 -
Data Science
3 -
Azure
3 -
Number Ranges
2 -
Query Plans
2 -
Power BI & Power Apps
2 -
Random numbers
2 -
Day of the Week
2 -
Custom Visual
2 -
VLOOKUP
2 -
pivot
2 -
calculated column
2 -
M
2 -
hierarchies
2 -
Power BI Anniversary
2 -
Language M
2 -
inexact
2 -
Date Comparison
2 -
Power BI Premium Per user
2 -
Forecasting
2 -
REST API
2 -
Editor
2 -
Split
2 -
measure
2 -
Microsoft-flow
2 -
Paginated Report Builder
2 -
Working with Non Standatd Periods
2 -
powerbi.tips
2 -
Custom function
2 -
Reverse
2 -
PUG
2 -
Custom Measures
2 -
Filtering
2 -
Row and column conversion
2 -
Python script
2 -
Nulls
2 -
DVW Analytics
2 -
parameter
2 -
Industrial App Store
2 -
Week
2 -
Date duration
2 -
Formatting
2 -
Weekday Calendar
2 -
Support insights.
2 -
construct list
2 -
slicers
2 -
SAP
2 -
Power Platform
2 -
Workday
2 -
external tools
2 -
index
2 -
RANKX
2 -
PBI Desktop
2 -
Date Dimension
2 -
Integer
2 -
Visualization
2 -
Power BI Challenge
2 -
Query Parameter
2 -
Date
2 -
SharePoint
2 -
Power BI Installation and Updates
2 -
How Things Work
2 -
Tabular Editor
2 -
rank
2 -
ladataweb
2 -
Troubleshooting
2 -
Date DIFF
2 -
Transform data
2 -
Healthcare
2 -
Tips and Tricks
2 -
Incremental Refresh
2 -
Governance
1 -
Fun
1 -
Power BI gateway
1 -
gateway
1 -
Elementary
1 -
Custom filters
1 -
Vertipaq Analyzer
1 -
powerbi cordoba
1 -
Model Driven Apps
1 -
REMOVEFILTERS
1 -
XMLA endpoint
1 -
translations
1 -
OSI pi
1 -
Parquet
1 -
Change rows to columns
1 -
remove spaces
1 -
Get row and column totals
1 -
Retail
1 -
Power BI Report Server
1 -
School
1 -
Cost-Benefit Analysis
1 -
DIisconnected Tables
1 -
Sandbox
1 -
Honeywell
1 -
Combine queries
1 -
X axis at different granularity
1 -
ADLS
1 -
Primary Key
1 -
Microsoft 365 usage analytics data
1 -
Randomly filter
1 -
Week of the Day
1 -
Azure AAD
1 -
query
1 -
Dynamic Visuals
1 -
KPI
1 -
Intro
1 -
Icons
1 -
ISV
1 -
Ties
1 -
unpivot
1 -
Practice Model
1 -
Continuous streak
1 -
ProcessVue
1 -
Create function
1 -
Table.Schema
1 -
Acknowledging
1 -
Postman
1 -
Text.ContainsAny
1 -
Power BI Show
1 -
Get latest sign-in data for each user
1 -
API
1 -
Kingsley
1 -
Merge
1 -
variable
1 -
Issues
1 -
function
1 -
stacked column chart
1 -
ho
1 -
ABB
1 -
KNN algorithm
1 -
List.Zip
1 -
optimization
1 -
Artificial Intelligence
1 -
Map Visual
1 -
Text.ContainsAll
1 -
Tuesday
1 -
help
1 -
group
1 -
Scorecard
1 -
Json
1 -
Tops
1 -
financial reporting hierarchies RLS
1 -
Featured Data Stories
1 -
MQTT
1 -
Custom Periods
1 -
Partial group
1 -
Reduce Size
1 -
FBL3N
1 -
Wednesday
1 -
Power Pivot
1 -
Quick Tips
1 -
data
1 -
PBIRS
1 -
Usage Metrics in Power BI
1 -
Multivalued column
1 -
Pipeline
1 -
Path
1 -
Yokogawa
1 -
Dynamic calculation
1 -
Data Wrangling
1 -
native folded query
1 -
transform table
1 -
UX
1 -
Cell content
1 -
General Ledger
1 -
Thursday
1 -
Table
1 -
Natural Query Language
1 -
Infographic
1 -
automation
1 -
Prediction
1 -
newworkspacepowerbi
1 -
Performance KPIs
1 -
HR Analytics
1 -
keepfilters
1 -
Connect Data
1 -
Financial Year
1 -
Schneider
1 -
dynamically delete records
1 -
Copy Measures
1 -
Friday
1 -
Q&A
1 -
Event
1 -
Custom Visuals
1 -
Free vs Pro
1 -
Format
1 -
Active Employee
1 -
Custom Date Range on Date Slicer
1 -
refresh error
1 -
PAS
1 -
certain duration
1 -
DA-100
1 -
bulk renaming of columns
1 -
Single Date Picker
1 -
Monday
1 -
PCS
1 -
Saturday
1 -
update
1 -
Slicer
1 -
Visual
1 -
forecast
1 -
Regression
1 -
CICD
1 -
Current Employees
1 -
date hierarchy
1 -
relationship
1 -
SIEMENS
1 -
Multiple Currency
1 -
Power BI Premium
1 -
On-premises data gateway
1 -
Binary
1 -
Power BI Connector for SAP
1 -
Sunday
1 -
Training
1 -
Announcement
1 -
Features
1 -
domain
1 -
pbiviz
1 -
sport statistics
1 -
Intelligent Plant
1 -
Circular dependency
1 -
GE
1 -
Exchange rate
1 -
Dendrogram
1 -
range of values
1 -
activity log
1 -
Decimal
1 -
Charticulator Challenge
1 -
Field parameters
1 -
deployment
1 -
ssrs traffic light indicators
1 -
SQL
1 -
trick
1 -
Scripts
1 -
Color Map
1 -
Industrial
1 -
Weekday
1 -
Working Date
1 -
Space Issue
1 -
Emerson
1 -
Date Table
1 -
Cluster Analysis
1 -
Stacked Area Chart
1 -
union tables
1 -
Number
1 -
Start of Week
1 -
Tips& Tricks
1 -
Workspace
1 -
Theme Colours
1 -
Text
1 -
Flow
1 -
Publish to Web
1 -
Extract
1 -
Topper Color On Map
1 -
Historians
1 -
context transition
1 -
Custom textbox
1 -
OPC
1 -
Zabbix
1 -
Label: DAX
1 -
Business Analysis
1 -
Supporting Insight
1 -
rank value
1 -
Synapse
1 -
End of Week
1 -
Tips&Trick
1 -
Showcase
1 -
custom connector
1 -
Waterfall Chart
1 -
Power BI On-Premise Data Gateway
1 -
patch
1 -
Top Category Color
1 -
A&E data
1 -
Previous Order
1 -
Substring
1 -
Wonderware
1 -
Power M
1 -
Format DAX
1 -
Custom functions
1 -
accumulative
1 -
DAX&Power Query
1 -
Premium Per User
1 -
GENERATESERIES
1 -
Report Server
1 -
Audit Logs
1 -
analytics pane
1 -
step by step
1 -
Top Brand Color on Map
1 -
Tutorial
1 -
Previous Date
1 -
XMLA End point
1 -
color reference
1 -
Date Time
1 -
Marker
1 -
Lineage
1 -
CSV file
1 -
conditional accumulative
1 -
Matrix Subtotal
1 -
Check
1 -
null value
1 -
Excel
1 -
Cumulative Totals
1 -
Report Theme
1 -
Bookmarking
1 -
oracle
1 -
mahak
1 -
pandas
1 -
Networkdays
1 -
Button
1 -
Dataset list
1 -
Keyboard Shortcuts
1 -
Fill Function
1 -
LOOKUPVALUE()
1 -
Tips &Tricks
1 -
Plotly package
1 -
Sameperiodlastyear
1 -
Office Theme
1 -
matrix
1 -
bar chart
1 -
Measures
1 -
powerbi argentina
1 -
Canvas Apps
1 -
total
1 -
Filter context
1 -
Difference between two dates
1 -
get data
1 -
OSI
1 -
Query format convert
1 -
ETL
1 -
Json files
1 -
Merge Rows
1 -
CONCATENATEX()
1 -
take over Datasets;
1 -
Networkdays.Intl
1 -
refresh M language Python script Support Insights
1
- 03-30-2025 - 04-04-2025
- 03-23-2025 - 03-29-2025
- 03-16-2025 - 03-22-2025
- 03-09-2025 - 03-15-2025
- 03-02-2025 - 03-08-2025
- 02-23-2025 - 03-01-2025
- 02-16-2025 - 02-22-2025
- 02-09-2025 - 02-15-2025
- 02-02-2025 - 02-08-2025
- 01-26-2025 - 02-01-2025
- 01-19-2025 - 01-25-2025
- 01-12-2025 - 01-18-2025
- 01-05-2025 - 01-11-2025
- View Complete Archives