Power BI is a tool that you can get started working with it in a few hours, but to use it in its full potential, these days, you require to have many skills. The variety of solutions and BI implementations is also dictating to have different roles, positions, jobs in the Power BI development market. In this article, I’ll explain the common roles available in this market.
I have previously written about how your organization BI team might have changed by appearance of self-service BI. Read that article fro the below link:
In this article, I’ll explain how Power BI roles are in details.
Data Engineer: Power Query Developer
In every BI system, data preparation is the step that takes most of the time. in the world of Power BI, this is done by Power Query, and you require someone with good skills to use Power Query transformations. This can be as simple as removing columns, and filtering data, and as complex as writing custom M functions and writing dynamic Power Query expressions.
Power Query developer is also the person who develops the dataflows.
Often the modeling and DAX are considered to be done by one person, but in fact, they are different tasks. Data modeling is the task of creating tables and their relationship. Data modeling is a conceptual work. It is something you do with pen and paper based on the requirement of the reporting and based on the data you get from the source system.
Data modeler is the person who knows about Star-schema, fact and dimension tables, and design the data model based on those principals.
The data model created by the data modeler, then will be filled by the ETL work of the data engineer, and will be used by the DAX expressions of the DAX developer.
No matter how much pre-calculation you do in your BI model in Power Query, still some calculations needs to be dynamic in their nature. DAX is the language that you can write dynamic measures. You need to have someone with good skills in writing DAX expressions to be able to extract information from the data. DAX expressions can be sometimes tricky. DAX developer needs to have a good understanding of the data model, relationships of it, and should be comfortable using DAX on a day-by-day basis.
To have the best data modeling experience, the data engineer, the data modeler, and the DAX developer need to work closely with each other.
Unfortunately many organizations don’t put a lot of efforts in building proper visualization. Visualization looks simple, but it is one of the most important elements of a BI system. This is the front-end of your system. Users will see this. You need to have developers who are good at UX design and graphic understanding so they can put together visualization pages. Pages that are informative, and help decision makers straight away. The art of storytelling is one of the assets of a report visualizer.
Applied Data Scientist
What if you want to use some predecitive analytics? what if you want to leverage some pre-build AI functionalities? You can an an Applied data scientist in your team. The applied data scientist won’t write algorithms, instead would use existing functions.
If you are thinking about the data science seriously, then you need to have a data scientist in your team. someone who is not scared to dig the hell out of the data, find out patterns, use algorithms with many variables, apply different practices and get the desired outcome.
You can’t expect your DAX developer or report visualizer to come and solve gateway issues. This is the job of a Power BI Admin, the access management, the tenant settings, and anything to do with the administration of Power BI are tasks that the Admin will do.
To get the best result and having everything in a good harmony, you need a touch of an architect. An architect is someone with understanding of all components of Power BI. Architect can set the framework in which the whole implementation works. It is the job or architect to set a multi-developer environment. it is the job of architect to bring dataflows and shared datasets into the implementation.
Why so many roles? Can’t one person do it all?
Can you?! if you really think you can do all of the above in the best shape, then contact me, I am hiring.
The fact is that each component of Power BI is so big and powerful that it takes time for someone to get skilled in it. Once you have someone with good skills in a specific area, you want that person to do that job that he or she can do better than anyone else in the team.
It would take ages to have someone upskilled in all the aspects of Power BI If you have acquired that skillset already it means you have been working with all parts of it for many years. On the other hand, you can have multiple developers working on their part of the solution rather than limiting the bottleneck to one person.
This is also good for the company, because it is easier to replace a resource (if they have left the team) who does one job, rather than a person who does everything.
How to asset the skills in my role?
It is important to have the proper skillset required for each role. In this article I have a questionnaire which helps you to know about those better yourself and find out what training is best for you.
17 thoughts on “Power BI Is Too Much for One Person: Roles in the Power BI Development”
your star schema needs some Elton John glasses!
I did everything but the gateway at my last role for 3 years. You said your hiring? Know who would be for my Power BI skillset?
Even in complex organization I think there is too much split in proposed roles. You need to understand at least basics of modelling to do Viz, and to do DAX the same. Too much hassle in dividing all of these. Architect – yes he is needed. Visualization person – I am trying to get one :). AI – I wish but I already do not have time.
understanding some overall skills of other roles are useful for sure.
Pretty much do all of of the roles mentioned there, except the architect (although have some knowledge behind that).
You are probably right depending on the size of business you are implementing and the complexity of reporting.
For me, I can’t think of any part in the development of a powerbi report I can’t be involved, to gain full understanding of the data and design for the end user. Coming away from a meeting with a customer on what they want, I’ve already worked out from start to finish what needs to be done and how to achieve the end product.
Good post though. You really do need good skills and understanding of all the area mentioned.
This is well articulated and gives a view into various sub-clusters that powerBI can be used and also gives how vast each of the sub clusters could be.
Power bi is such an awesome tool, but my question is, which is the better choice for data engineering, setting up your stored procedures and letting power bi access them, or using power query to do the engineering?
Ex. If I need a top x sales visualization, should I create the stored procedure with a parameter x, or do all the work in power bi first?
It depends on your skillset.
If you are more comfortable doing things in T-SQL, and providing stored procedures and views for Power BI to consume, then go ahead with that.
If you feel more comfortable with Power Query, then you can do that with Power Query too.
Ideally the analysis such as top x sales etc, can be done best with DAX and visualization.
The piece that I would like more guidance is given the data modeller and fax developer might be working in the same pbix file, how to handle it if you have broken it up into 2 roles. Similarly, if you are performing power query in the dataset (as opposed to dataflow), now you have 3 roles (people) potentially needing to work simultaneously. Or am I thinking about this all wrong?
The role of the data modeler is more of a conceptual design of the tables. This is not a fulltime role normally, it might be something that either the PQ developer or DAX developer do as part of their job.
and I would suggest NOT to perform PQ in the dataset, but do it in dataflows to keep roles separate
I HAVE to do it all. Simple as that unfortunately!
My employer, a non-profit org, like so many companies out there, don’t understand how big and complex data is, which is why they don’t bother with a CDO or similar role. Instead they just hire me “the report analyst” and expect me to know all the above + Microsoft automate + SQL server administration, + PowerApps.
I’d like nothing more than to be focused on one area. but to be quite honest, the above list of roles seems unrealistic to me and I’ve never seen a single company show they have such a big team to do this.
It’s the same as microsoft thinking that PowerBI is a “self serving tool”. This is completely untrue and it is not appropriate to think that someone in the business is going to find the time to learn M and DAX and understand good visualisation or EDA, or how to connect to different data sources while also having to do their normal day-2-day job.
Currently business are pushing data analytics and reporting roles into “the business side” of things and removing them from IT departments. This is completely the wrong approach in my opinion and is unfortunately exactly what is about to happen to me at my current employer 🙁
My colleague’s don’t understand that I have to pull most of my data from 2,500 tables who’s names are 6 chars long (not AS400 but might as well be!) with duplicated data because the application developers (3rd party supplier) didn’t care about the SQL server architecture. I then need to understand the data and business need (been in the industry for under 1 year) and develop a star schema, then get it into SSRS(ok no star schema here) or PowerBI and tell a story for them, when they have said something like “we want to understand the demographics of our customers”. It’s up to me to read minds and predict what that actually means.
OMG, that felt good to get that off my chest. Thank god for anonymity:). Thanks for reading 🙂
I feel your pain.
there are many people working in organizations like you having the same issue, we have some of them as our clients, so I can understand.
However, the layout of the roles I mentioned is the IDEAL scenario.
Of course, many organizations are not doing it this way nowadays, but this is the path that they will go into if they focus heavily on the data analysis in the future.
It is like back in the old days that we had one person doing all the DATABASE (or SQL Server) things. But now, we have DBA, ETL Developer, Performance Tuning Expert, SQL Developer etc, and they all work with SQL Server.
Power BI is still young to get to that stage, but it will get there eventually.
I do it all for my company, im also now due to redundancies about to take on the dba role for the dwh server, the developers job for the SSIS ETL and the SSAS cubes we also use. As well as my MI analysts tasks and visuals for reporting. Fun times.
I master all those roles but the problem is that my english is bad.
I do everything except data science. I’m now moving to an architect role since I have full experience in PowerBI, SQL, Data Factory, and other Azure resources. It’s not easy, but I love learning, being scalable, efficient, and low maintenance.
I can appreciate one person cannot master all of these domains but it seems feasible to become effective at quite a few and for most enterprises this will be the most effective approach. It seems perfectly reasonable for a savvy LOB analyst to know visualisation, DAX and M to a competent level and I would expect someone with an IT alignment to also know SQL, database modelling, scheduling, security and architecture. Having specialist with insular knowledge results in high network coordination costs for a deliverable; more time is actually spent on bureaucracy, documentation, resourcing and misunderstandings than is spent in development. Few organisations will have the capacity to support each specialism and few will have sufficient demand to keep them all busy. Consultancies often promote the route of focused skill base and from my experience you end up spending excessive time waiting for the right combination of resources to become available, by the time that occurs, if that ever occurs, the developer first engaged has usually lost their enthusiasm. This approach often results in pass-thru or path of least resistance solutions, for example I frequently see EDW specialists, that are managing a project, ask ETL specialists to only move data, usually because the EDW specialist does not know the capability of the ETL tools (knowledge the ETL specialist will often guard like national secrets) or they EDW specialist does not feel comfortable expressing what they would like to implement in a specification, this results in sub-optimal end-to-end solutions. The human aspect of a pigeon hole should also not be over looked, people flourish when they have a greater sense of control and ownership. People should be encouraged to expand across skills to the degree of their competence first and foremost. I get what your saying but it feels like an academic ideal than a optimisation that accounts for reality.
I absolutely agree that one person can become skilled-enough in a number of these roles. That is why I call them Roles, not Positions.
And that is true everywhere. A salesperson is not just doing sales, he/she is doing a few other things as well, marketing, maybe managing, etc. An accountant is not only doing accounting but also knows about Excel, can do bookkeeping probably, etc.
The same is through with the subject I mentioned in this article. You can have one person dealing with multiple roles. However, having one person doing all of these roles at the same time would be too much. it all depends on the type of work, size of the project, the availability of the resource, what other tasks are assigned to that person, and many other factors.
It is important to know the separation of roles though because if this person wants to ever pass the responsibility to another person, needs to tell him/her what areas they need to upskill themselves, and what the tasks looks like in that role.