Forum Discussion
Power bi Vs Backend databases
There is a question that has never been covered, regarding what is effective Power bi development, meaning that the dashboard is NOT trying to solve things that SHOULD be solved in the backend databases.
Regards.
2 Replies
- mahenkj2Solution Sage
Hi Anonymous ,
Very interesting thoughts and questions.
I would not say that such topic/questions are not covered yet, but rather this is related with proper BI development. I have gone through all of the phases of whole development of BI solution for our organization and being not of IT field originally; I started with questions from User's perspective and not of a developer's. Perhaps this helped me to search for a proper design of the solution we should look at.
Without going into technicality, there is difference in data entry and data retrieval for reporting and this difference needs to be taken care in the design of backend. What you are seeking is definitely possible that user just need to select fields from few tables and should be able to get answers related to a specific business process and build the report easily. There are few approaches to achieve this, and dimensional modelling is one of the most simple, efficient and flexible.
Business process is broken down in natural sub processes and such each sub process have couple of fact table and several dimensional tables. In this case, user gets answers to his questions for that sub process by using just these tables. Then the sub processes are any way related each other and users need answers to their questions combining few sub processes and to achieve this, aggregate tables are further create depending the business needs.
The above is a very rough description of what needs to be done for an optimized BI solution.
In my specific case, I started with fetching data from ERP tables and in the beginning created reports directly transforming in Power BI. It was so quick to reach to dashboardreports, and used transformations in almost every table. Once learnt dimensional modelling concept, then used SSIS to fetch ERP tables, transformed in the form suiting to DM fundamentals and created data warehouse for each business process.
Then created reports in Power BI using warehouse tables, we now no more access to ERP tables directly. Since warehouse tables are designed from user perspective, most key metric are suitably fitted in warehouse tables, in Power BI most of the time we need basic DAX (very basic) to do arrive at some KPIs. Certainly sometimes for some advanced calculation, we may try to leverage benefits of DAX, but try to use Power BI as visualization tool most of the time. Yet, we should not be hard on specifying number of tables, number of measures etc. It should depend on the nature of the process, given the process is properly broken down (naturally).
If you need any specific guidance, further please let me know.
Hope it helps.
- AnonymousNot applicable
Hello,
Many thanks for your reply.
I was thinking about what you said and realized that perhaps I asked the wrong questions.
Perhaps the question I should be asking is:
If a Power Bi dashboard developer had at his/her disposal a very saavy backend database developer to create any backend solution they might need, then you would not need to create lenghty DAX scripts and join many different tables or views within the Power Bi dashboard to solve the challenges presented by the databases you have available. So, when we have to utilize lenghty DAX scripts and have to Join too many tables/views, it is because the backend databases are not providing in an effective way what we need.
Would you agree with the above ?