Microsoft Fabric with Dynamics 365 FinOps
2 years after I released an article about Synapse Link / Delta Lake for Dataverse including Power Platform, Dynamics 365 and F&O, it was time for me to explain also the other option which is as you know the famous Microsoft Fabric. Discover here how to link it to both platforms all in one data platform together : Dataverse and Dynamics 365 Finance Operations !
Like always I will do also a quick video/demo at the end of this article.
First of all, as a disclaimer, I will not cover in details here what is Microsoft Fabric, because you already have a lot of content about it by some others MVPs ; including some events and sessions in community.
But I’ll try to summarize it a little before, still ;)
Understanding Microsoft Fabric and Its Comparison to Power BI
In the evolving landscape of data analytics and business intelligence, Microsoft has introduced a range of tools designed to empower organizations to derive insightful conclusions and make informed decisions. Among these tools are Microsoft Fabric and Power BI, each offering unique capabilities and features tailored to different user needs and scenarios.
Microsoft Fabric is an advanced platform designed to facilitate the creation, management, and deployment of data-driven applications across various business environments. It integrates a suite of tools and services that cater to developers, data engineers, and data scientists, enabling them to build sophisticated data applications with ease.
Key Features of Microsoft Fabric
· Integrated Development Environment (IDE): Fabric provides a comprehensive IDE that supports a wide range of programming languages and frameworks, enhancing productivity and collaboration among development teams.
· Data Integration: Fabric offers powerful data integration capabilities, allowing seamless connectivity to various data sources, including databases, cloud services, and on-premises data warehouses.
· Scalability: Built on Microsoft's cloud infrastructure, Fabric ensures scalable performance, enabling applications to handle large volumes of data and high user loads efficiently.
· Security and Compliance: With robust security features and compliance with industry standards, Fabric ensures that data is protected and meets regulatory requirements.
· Machine Learning and AI Integration: Fabric supports the integration of machine learning models and AI algorithms, facilitating advanced analytics and predictive insights.
Components of Microsoft Fabric
1. Data Integration
Data Factory: Microsoft Fabric includes Data Factory, a powerful ETL (Extract, Transform, Load) service that allows users to create data pipelines for moving and transforming data from various sources. It supports both on-premises and cloud data sources.
2. Data Storage
Data Lake Storage: This service provides scalable and secure storage for big data analytics. It allows for the storage of structured and unstructured data in its native format, facilitating easy access and processing.
3. Data Transformation
Data Flow: Data Flow is designed for data transformation tasks, allowing users to build data transformation logic using a visual interface. It supports a range of data transformation activities, from simple data cleansing to complex data manipulation.
4. Data Management
Data Catalog: This component helps in managing metadata and data discovery. It allows users to catalog data assets, making it easier to find, understand, and use data. It supports data governance and compliance by providing detailed information about data lineage and usage.
5. Data Analysis
Power BI: Power BI is an integral part of Microsoft Fabric, offering robust data visualization and reporting capabilities. It enables users to create interactive dashboards and reports, providing real-time insights into business performance.
6. Machine Learning
Azure Machine Learning: This component provides a comprehensive environment for building, training, and deploying machine learning models. It supports a wide range of machine learning algorithms and frameworks, making it a versatile tool for data scientists and analysts.
7. Data Security
Azure Security Center: This service offers advanced threat protection and security management for data assets. It helps in safeguarding data against unauthorized access and ensuring compliance with industry standards and regulations.
Comparison to Power BI
While both Microsoft Fabric and Power BI are integral to the data analytics ecosystem, they serve different purposes and target distinct user groups.
Power BI is a business analytics service by Microsoft, primarily aimed at providing interactive visualizations and business intelligence capabilities with a user-friendly interface. It is designed for business users who need to create reports and dashboards without requiring extensive technical knowledge.
Key Differences
· Target Audience: Power BI is tailored for business analysts and general users who need to generate insights from data through visualizations, whereas Microsoft Fabric is geared towards developers and data scientists who need to build and deploy complex data applications.
· Functionality: Power BI focuses on data visualization and reporting, offering tools for creating interactive dashboards and sharing insights across the organization. In contrast, Microsoft Fabric provides a broader set of capabilities, including development, data integration, and machine learning.
· Customization: Power BI offers a range of customizable visual elements and connectors, but its customization options are limited compared to Microsoft Fabric, which allows for deeper customization and integration with various development frameworks and tools.
· Scalability: While Power BI is scalable for reporting purposes, Microsoft Fabric offers more extensive scalability options, making it suitable for large-scale data applications and complex processing tasks.
· Ease of Use: Power BI is designed to be user-friendly and accessible to non-technical users, with intuitive drag-and-drop features and pre-built templates. Microsoft Fabric, on the other hand, requires a higher level of technical expertise to leverage its full potential.
In summary, Microsoft Fabric and Power BI are both powerful tools within Microsoft's data analytics suite, each catering to different needs and user groups. While Power BI excels in providing accessible and interactive data visualizations for business users, Microsoft Fabric offers a comprehensive platform for developers and data scientists to build, deploy, and manage sophisticated data-driven applications. Understanding the strengths and use cases of each tool can help organizations choose the right solution to meet their specific data analytics requirements.
What about Dynamics & Power Platform ? Well, it’s always the main question for customer : which option to choose ?
In short, that depends mainly of course of the budget ! I have seen a lot of customer which was more using Synapse Link with their custom deployments in their own subscription and only Power BI at the end. Afterall the cost of Fabric is quite high to start depending on the Fabric capacity you will choose. With a quick summary, you have to start Fabric with more thank 5k€/month with just 1 capacity for the whole tenant, while with Synapse Link and Delta Lake you can be around 2k to 3k€ per month, including with some Power BI Pro licenses. The main topic is : do you need to have it all in 1 place ? Do you need advanced pipelines, Data factory and other tools all combined together and in a SaaS pattern like Dynamics & Power Platform ? In short, in this case, Fabric could be a good opportunity for you ! Last but not least, for all Power BI Premium capacity, they will be in transition mode and switch at the end into Fabric capacity.
You have finally some quick comparisons between the 2 to consider before making your choice.
So I will assume you have made here your choice ! And you have selected Fabric ! Good one !
First, you need a Fabric capacity to start. Here you have multiple ways to do so ! I will demonstrate 2 of those, but in general you have 3 options :
Buy one with a subscription (that I won’t do it)
Buy it just for few hours to test via Azure Subscription
Try it via a Trial capacity !
For Azure Subscription, you can create
After deploying, you can even pause it at anytime you don’t need it, perfect for Proof Of Concept (POC) with Dynamics & Power Platform in test mode.
At the end it’s possible (in Azure) - and not possible via Subscription - to change and scale the size of it.
Then, you can just pick the one in Microsoft Fabric Portal you just created in Azure and that’s it !
In case you just want to pay and try it yourself, you can provision a Trial Capacity and it works fine for Fabric Link with Dynamics 365 & Power Platform (including F&O too)
Just, you need rights to ask any Trial capacity, on some tenant it could be deactivated by default, to check with your Fabric / Tenant Admin.
When all is fine, you can do it like this :
(Globally extend your Free Trial for Power BI and Fabric, I didn’t had anything in this tenant globally)
Then, activate Fabric Capacity Trial and choose the right location depending on the Dataverse + F&O deployments.
Then, you are ready to go and will see your workspace created with a Free Trial capacity up & running
Now that we have a Fabric Capacity, we can do the Link and integration between Dataverse + D365 F&O into this workspace !
For this configuration, it’s very easy to do, compare to Azure Synpase Link / Delta Lake integration where you have to manually do some stuff in Azure in terms of deployments and also on the security level / access.
Here, I have an UDE F&O Environment below, all the way already ready to go because it’s a Dataverse environment linked (1:1) with his F&O instance. Of course, it’s also already working with TIER2 Sandbox of F&O or Production - but as usual now you need to have it available in PPAC and linked to a Dataverse environment. Same quite pre-requisite as Synapse Link. Again a good way to see that UDE is a good opportunity to try Fabric integration in just few hours !
Then, go to the Maker Portal of Power Apps and go to the Tables part. Of course, choose the right Dataverse linked to your F&O instance on top right.
Click on Link to Microsoft Fabric. Here it’s important stuff, because you will select and link again your Dataverse to your Fabric workspace, which is linked to Fabric capcity created before. All the way it’s : 1 dataverse <=> 1 F&O (or not) <=> 1 Workspace Fabric <=> 1 capacity Fabric
Here click on Switch Account to create the connection. Then, select the right Fabric workspace, again linked to your Fabric Capacity (Subscription, Trial or PAYG Azure, depending on your case)
Finally, time for coffee break :) , you have to wait around 5 minutes to make it happen…
Access your OneLake configuration like this :
Initial Sync working on it now…
So now, you can see everything has been setup for you, quite easy and fast !
Of course, you may want to add other tables (Dataverse) or F&O tables or F&O virtual entity (data entity behind)
First, as you can see, almost all Dataverse tables (here 480 to 500) have been pushed into Fabric, while you didn’t ask it for it… At the end of this article I will summarize all limitations or improvements in the roadmap by Microsoft, but yes if you are F&O only, it’s not a good thing ; yes you can’t unselect them right now in February 2025.
To add F&O Tables, just select Manage Tables and pick D365 F&O. This tab appears only if this is a Dataverse linked to an F&O instance. If you are only CRM/CE/PP guy-girl, you will not have this part. Then select table you want, with a filter. And yes you don’t have a way to import a list of it by Excel file or everything else, it’s manual stuff…
NB : the number is 3234 in 10.0.42 (Microsoft add like Synapse Link new tables at each release), but you can force it. Just do a quick DEV in X++ in the AOT to activate the change tracking of the table and deliver your package in F&O.
Partition is year by default, meaning all parquet files in OneLake will be splitted by year, and refresh will be 1 hour (in Synapse Link you can decrease it as needed for the refresh time) not in Fabric, it’s managed by Microsoft right now.
Now, you can also wait that the Initial Sync will be done. Depending on the amount of lines, it can be done in several minutes/hours. Remark that the Fabric Status is not created for F&O, we will see after why.
You can also activate Data Entity of F&O which has been activated as Virtual Entity into Dataverse. This is exactly the same process as Synapse Link for Dataverse, you need to activate the change tracking. Of course, do it in a Solution for Dev/ALM CI-CD stuff for F&O (like in my latest article)
Just a quick example here for CustomersV3 entity.
Here you should see it, including all the Archiving Virtual Entities already activated to be pushed into Fabric if needed. As usual, I recommend to see this article by Juan that explain how to auto activate Data Entity as Virtual Entity by default (including schema refresh if any change) - and change tracking too so that you don’t do it manually and everything will be right here on all environments because it’s an X++ extensions. Be aware, that they will appear in the Dataverse tab with the mserp_XXXXXX suffix.
Activate Fabric Status table : Right now, after activating table into Fabric Link, the Fabric Status for FnO table stay in Not Created. You need to force it via Refresh Fabric tables, that will resync the schema metadata like we used to do in the Old Export Data Lake LCS via CDMUtil to reflect it.
Almost right away, the table is now created and ready to use in Fabric. Hopefully this process will be automated like for Dataverse / CRM tables !
You can now acess your LakeHouse in the Fabric Portal
You can go the SQL Serverless Endpoint to go to SSMS or the LakeHouse directly to see the the files (parquet ones)
Via the Portal I can query like in Synapse Analytics with the SQL endpoint
You can get the connection string for SSMS too, using Azure Entra Id. Again for workspace security group, you can assign different roles for that.
And then of course, you can build Reports in PBI with the OneLake Catalog ; publish it to your Fabric workspace, share it to end users etc… that don’t really change compare to the Power BI pattern like before.
You can also build Power Apps with Fabric Virtual Entity (it’s still in Preview as of February 2025) - this time I do it right…. :) directly in a solution for ALM ready to go pattern.
Create the connection ; and choose the right workspace and Fabric Lakehouse.
Chose the table (like here it’s vendtable from D365 F&O exported in my Fabric Lakehouse) ; good part it’s here where you can further select which fields/columns you want.
My table is right here, linked to his Datasource, good for ALM purpose ;)
I can start now building Power Apps (Model Driven or Canvas) and it’s bi-directionnal.
With Dataverse virtual tables sourced with Fabric, your low-code app builders connect to data in Microsoft OneLake and build Power Apps and drive business actions. Additionally, with Power Pages, low-code makers can build external facing websites and drive action from OneLake insights with partners, suppliers, and customers.
Then, since we are in Fabric, we can extend and use other components like Pipelines etc… (I will not cover all of them, but we retrieve the same ones we had in the past in Data Factory, Synapse and so on…)
And yes, here is my dummy pipeline, just a copy data with my VendTable to push it outside..
Connectors are the one we have in Power Query for long time…
So here is a quick intro on what you can do as ETL/ELT all in the same platform : your global data platform including D365 Data (ERP & CRM), but could be other ones via OneLake since Fabric can retrieve the data outside of it (like Amazon AWS)
Limitations / Others condiserations (as of Feb 2025) :
1000 tables : Yes this is the default limitation we have right now to export (max) ; but Microsoft is working on it to increase it.
1 hour refresh : this is the approximately amount of time when the refresh is done for you behind the scene. Again with a Fabric Capacity, an Apache Spark will run like in Synapse Link for Dataverse. For Synapse you can force and reduce it like every 10/15 minutes, but for Fabric you can’t. While it’s quite unfortunate, it’s quite normal since this is where the cost is. For Synapse as soon as you reduce it, the more you will pay in Azure consumption. But I hope for Fabric as soon as your are quite good in terms of Fabric Capacity performance, you should be able to reduce it, right ?
Copy environment (refresh) : This is for me the big improvement to be made by Microsoft. As I have tested it, if I copy my TIER2 or Prod environment into my UDE, my Fabric Link is the one of Prod… not ideal… so the way is to Unlink and Relink it and reforce the refresh manually. Not good for ALM and DataALM purpose.
Storage OneLake : The data sent to Fabric (parquet files) are counted into your Dataverse storage, which as you know I guess isn’t free. To check into your PPAC capacity, but this parquet files are highly compressed data. But still… as I know, a lot of D365 F&O customers are already in overusage (very often in the Dataverse side they don’t really use in fact normally), it’s something to consider compare to Synapse Link which is using Azure Data Lake where storage is less expensive.
DevOps / ALM : Considering that Fabric is quite a recent platform, remember to check how to deliver your pipeline, configurations between workspaces and environments. Some of them are still in preview, which is not a very good sign, but I guess Microsoft is working on it too.
Usage Fabric App monitoring : To consider using it after prod/POC/test supervision and monitoring. Question will be always : which Fxx capacity do I need for my data platform, pipelines etc… You have a Power BI app and REST API to get insights for that.
Unlink/Relink or Deactivate/Activate tables : Sometimes, you can get this kind of error “FnO-812: Need to enable additional indexes in your Finance and Operations environment. Visit aka.ms/SynapseLinkErrors to fix.” , it’s like '“reboot just in case" behavior, my side I just Unlink/Relink or even deactivate and activate again the table to reforce it and refresh again if needed.
In conclusion, here is also a video to show it in LIVE ;) Enjoy !