Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Erika16
Helper I
Helper I

Power BI and Microsoft Dynamics Integration

Hello Power BI community 

 

We built a data model to bring data from Microsoft Dyanamics to Powr BI. There are two ways of using it via Power BI  quary or via SQL. In terms of performance? which of the two would you suggest? I don't fully undestand where the data sits when I bring it from Microsoft Dyanamics to Power BI. Could someone please explain that to me? 

 

Many thanks as always!!! 

Erika 

2 ACCEPTED SOLUTIONS

Hey @Erika16 ,

 

Thanks for the clarification!  OK, the answer to the clarified version ofthe question is "it depends".  Personally, I prefer SQL.  But, that is because I understand SQL thoroughly.  And, normally, the organizations I work with have their data in SQL in a mature manner (they use SQL for data modifications, stored procedures, etc).  Also, SQL is a bit more structured and standard across datasets while CDS can be a little more customized in some ways that I do not always anticipate.  The basics f how the data is stored is a bit different.

 

BUT, if your organization uses mostly CDS and you are comfortable with it and understand the data and structure within CDS in yourenvironment, then use that!

 

From a "which is better perspective" from a systems perspective the answers come down to  the one that your organization is givine resources to.  If your SQL server (online or internal) is robust and your CDS area is given minimal system resources (or vice-versa) then that will affect performance and should be a factor as well.  Also, one set of data being written to/reported from more often (basically - which is more stable from a data perspective).  And, then, datasize...it is my understanding (I am NOT an expert in this area) that SQL will handle large datasets easier and feed them to Power BI more easily than CDS does.




Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!
Private message me for consulting or training needs.




View solution in original post

Hey @Erika16 ,

 

 Well, SQL is designed to be a place for data and is extermely robust in that area.  So, a strong argument could be made that it is the faster tool - but that is based on 'standards' and setup.  Assuming all is 'normal' then SQL should be a faster tool - BUT, as I stated before, if all the resources are on the server(s) hold the CDS data then this would not be the case.

 

As for where the data resides, the default database for Dynamics is Azure SQL so it is already in SQL.  Power BI itself does not store data, it pulls the data into a data model and holds all of your modifications in the applied steps but it does not "store" the data from a "can I go get that data with some other tool" perspective.  

 

In your case, if the folks that have built the CDS and have modified the data in the way that you need, then perhaps that data source would be better for you in the long run because it has the mods already.




Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!
Private message me for consulting or training needs.




View solution in original post

5 REPLIES 5
collinq
Super User
Super User

HI @Erika16 ,

 

You stated that you built a data model from the Dynamics model - did you mean that you built one in a tool?  If so, then that is probably in SQL or Azure SQL and then you would query that database.

 

If you mean that you are building a model inside of Power BI directly from Dynamics then you are going to be using SQL.  I STRONGLY recommend that you do NOT hit production Dynamics but that you get a data load - of whatever frequency you need - and that you hit the resulting data.  Hitting the production Dynamics data will almost assuredly cause corruption in the data at worst and will cause slowdowns in the production system at best.

 

All that said, if your question is about modifying the data via SQL first or via Power BI from SQL database then the answer is "whichever you prefer".  I prefer doing it all in Power BI.  My reasoning is that I have found organizations tend to have one or two qualified SQL people and then they are not available when needed.  Also, the SQL person may not understand your need for the data and might make cubes or other views that are not pertinent to you.  And, when I do the modifications in Power BI, then I can control what is being shown how.

 

The only exception to my preference is when the data is quite large.  Like terrabyte or petabyte size - becuase at the scale, SQL is the better engine for modification at scale and this is where you get into some more of the detailed pionts about data management and movement. 




Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!
Private message me for consulting or training needs.




Many thanks indeed for coming back to me! 

As I read you, I notice how little close to nothing I understand on this topic. What I mean is I open Power BI and I can bring my data either from

 

a) SQL, would be like these: 

Erika16_1-1708441725288.png

 

b) From Power BI, I go to Transform / Advance Editor and bring the data like these: 

Erika16_0-1708441689958.png

 

Erika16_2-1708441768606.png

Do I make sense? If so, any preference into wich one I should use? 

 

 

Many thanks!!! 😃

Hey @Erika16 ,

 

Thanks for the clarification!  OK, the answer to the clarified version ofthe question is "it depends".  Personally, I prefer SQL.  But, that is because I understand SQL thoroughly.  And, normally, the organizations I work with have their data in SQL in a mature manner (they use SQL for data modifications, stored procedures, etc).  Also, SQL is a bit more structured and standard across datasets while CDS can be a little more customized in some ways that I do not always anticipate.  The basics f how the data is stored is a bit different.

 

BUT, if your organization uses mostly CDS and you are comfortable with it and understand the data and structure within CDS in yourenvironment, then use that!

 

From a "which is better perspective" from a systems perspective the answers come down to  the one that your organization is givine resources to.  If your SQL server (online or internal) is robust and your CDS area is given minimal system resources (or vice-versa) then that will affect performance and should be a factor as well.  Also, one set of data being written to/reported from more often (basically - which is more stable from a data perspective).  And, then, datasize...it is my understanding (I am NOT an expert in this area) that SQL will handle large datasets easier and feed them to Power BI more easily than CDS does.




Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!
Private message me for consulting or training needs.




Many thanks for coming back to me! 

Two more questions please, hope you don't mind. 

1. Performance  

In terms of the performance, is it faster using SQL? 

2. Quary 

If I bring the data as I showed on the second example, where is the data storage? Is it storage on Microsoft Dynamics and Power BI only shows it? Or is it storaged on Power BI? 

Many thanks indeed! You have no idea how massively helpful this is. 😊

Hey @Erika16 ,

 

 Well, SQL is designed to be a place for data and is extermely robust in that area.  So, a strong argument could be made that it is the faster tool - but that is based on 'standards' and setup.  Assuming all is 'normal' then SQL should be a faster tool - BUT, as I stated before, if all the resources are on the server(s) hold the CDS data then this would not be the case.

 

As for where the data resides, the default database for Dynamics is Azure SQL so it is already in SQL.  Power BI itself does not store data, it pulls the data into a data model and holds all of your modifications in the applied steps but it does not "store" the data from a "can I go get that data with some other tool" perspective.  

 

In your case, if the folks that have built the CDS and have modified the data in the way that you need, then perhaps that data source would be better for you in the long run because it has the mods already.




Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!
Private message me for consulting or training needs.




Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors