I have often seen Power BI users have access to areas they shouldn’t. In Power BI, you can share a report with a user just for view only or give them access to view and build or to Edit. These are all different levels of access. Build access is the one that is often confused with Edit. I’ll explain the difference between these two access levels for Power BI datasets in this article and video.
Video
Build access example
One of the easiest ways to explain the difference between EDIT and BUILD access levels is through an example of building a Power BI report on top of an existing dataset. If you get data from a Power BI dataset, you are building a new report (or even a new dataset) on top of the existing dataset.
The user below, when using the Get data from Power BI dataset, has access to some datasets;
The user above sees all the datasets with movies in their name. The highlighted dataset, as an example, is a dataset that is shared with the user with View and BUILD access;
If we remove the Build access from the user;
Then the user has no access to that dataset when building a report or new content.
As you can see in the above simple example, removing the Build access from the dataset means that the user can no longer build any new content on top of that dataset.
Are Build and Edit the same? A row-level security example
Now that you know the Build access level, let’s see if the Build and Edit access levels are the same. The short answer is no. They are not. Let me show that to you through a row-level security example.
The below report is a report on top of a dataset with RLS (row-level security) configuration defined:
If I have a user with View and Build access on a dataset, then a report that that user build depends on his/her access to the roles configured in the dataset level.
This user, if he or she built a report on top of that dataset, will see something like this:
As you can see, the user can see only part of the data that he/she is allowed to see. If this user had Edit access to that dataset, all the data would be visible to him/her.
The difference between Build and Edit is not just on the RLS, it is also for editing the content. When a user has Edit access on a dataset, then that user can CHANGE or DELETE the content. But the user with Build and View access can only build a new content on top of that dataset, and cannot change the original.
The point above is very important because there are different types of users for Power BI content, and you should not give someone access to something more than what they need.
How to provide Build but not Edit access?
To give a user Edit access to a dataset, you can give them proper access to the workspace, as I mentioned here. Different methods provide Build and View access but not Edit access. Here are some of the most common:
Manage Permissions: Add Build access
On a given dataset, you can choose the manage permissions option.
In the manage permissions setting, you can either add a user with the permission of build and view or add permission to an existing user in the list. You can remove the build permission in the same place too.
Create an App with Build access
Another common way of providing Build access to a user is enabling it when creating an app.
In the Audience tab of the app creation wizard, you can choose whether the users can have Build permission.
This will create Build access in the permission of the dataset;
Providing access through the Power BI app is my recommendation. Because you can create different audiences in the Power BI app, set the Build permission for an audience, and keep it unchecked for others, it makes a perfect way of giving the Build permission.
Who should have build access?
Report visualizers and self-service champions are among the users who would need the Build permission on a dataset. Developers usually have Edit access, but other users who want to build any content on top of an existing dataset would require the build access level.
License
Users need a Pro license for any BUILD operation on a Power BI dataset. Even a Power BI free user for a dataset under a premium capacity won’t be able to build content unless they have a Pro license. (any licensing options mentioned here can change in the future)
Summary
You learned in this article and video that the Build access provided alongside View differs from the Edit access. A user with Edit access will see everything regardless of row-level security. But the Build and view access will respect the RLS configuration. The edit access also provides the ability to modify or delete content. You learned how to provide the Build access but not the edit access. This is an important consideration in your Power BI sharing method.
please make a posts on some Dax functions like MAXA,MINA,COUNTA.
will add it to the backlog 😉 but for now, you can have a look at the one for SUMX which is similar.
Cheers
Reza