Back in May 2020, I wrote a blogpost about visual customization in Power BI reports. The feature was released in preview with the April 2020 release. Now, the Power BI team made another update to the feature by supporting perspectives in Power BI to be assigned to the visual customization feature.
In this blogpost I will elaborate further on the new enhancement, how it works and what value it adds. But first, let’s shortly recap what exact functionality we are talking about here.
The visual customization feature allows users to change existing visuals in the report to match their own wishes. This can be done by any user in the Power BI user that is consuming the report, without affecting the centrally managed report. All customizations will be saved as personal bookmarks and with that only available for the user that applies the customization. In general users can;
- Change the type of visualization (get rid of the pie chart?)
- Swap measure or dimension used in the visual
- Add or remove the legend of a visual (if applicable)
- Add another measure to the visual for comparison (for example in a column chart)
- Change the default aggregation of a column from sum to average, min, max etc.
In the earlier blogpost, I elaborate further on the functionality and what needs to be done before the functionality starts to work.
What is new?
With the Power BI Desktop August 2020 update, there is a new enhancement made to the visual personalization capability. Power BI now supports perspectives to be assigned to specific visuals for customization.
Before we dive into what perspectives are and how to create them, I want to point out where this can be useful in relation to the visual customization feature.
In above image you can see the huge list of fields that is available for the end user when they want to pick a different field for the visual. By default, this contains all the tables, columns and measures that are visible in your model. As a report author, you might want to limit this set of fields for the following purposes;
- Help the end-user to create meaningful visuals by only showing fields that are relevant in a given context.
- Hide specific tables, columns or measures for visual customization. In above screenshot you might have seen the Formatting Star measure for example, which you do not want to show in visual customization context.
- Only show a subset of tables, columns, measures that are in context of the page. As your report page has a specific context or goal, you might want to stick to that. By creating page specific perspectives, you allow the end-users to only customize the visuals based on the fields that match the page context.
- Any other relevant case…
If you work or used to work with Analysis Services, you might know the perspectives functionality. It is a feature inside tabular modelling that allows you to define viewable subsets of a data model.
Each tabular model can include multiple perspectives, where each perspective can include a subset of tables, columns a measures. Especially with large enterprise models, perspectives can be very useful.
With perspectives, you can define specific perspectives to be defines for a specific target audience. For example, the author can create logical subsets of the model for each audience of the dataset. (e.g. Sales, Finance, Marketing, etc.) One thing must clear, perspectives are not object level security or any other kind of security! It is just a better way to view it.
How to create perspectives
Above I mentioned that perspectives exist in both Analysis Services as Power BI. As this blogpost focusses on Power BI, I will elaborate further on how you can create perspectives in Power BI.
Power BI Desktop as a tool does not have any interface that allows you to create perspectives. At this moment, third party tooling is needed to define your perspectives. With the recent additions of External Tools integration in Power BI desktop, you can easily connect tools like Tabular Editor to create your perspectives.
Although the Power BI blog describes how to create perspectives, I will shortly sum-up the process of doing it below. Before we start, there are a few prerequisites you must take into account;
- Third-party tooling like Tabular Editor will be used.
- The enhanced metadata in Power BI must be enabled
- Visual Personalization must be enabled in the report settings
File > Options & Settings > Options > Current File > Report Settings
- Open your model in Power BI Desktop and go to External Tools in the top Ribbon where you will find Tabular Editor.
- After Tabular Editor opened, you will see Perspectives in the left menu. Right-click the Perspectives folder and click new and give it an explanatory name. In my case I named it: VisualPersonalization.
- Now you have created the perspective, you need to assign Tables, Columns and/or Measures to it. Right-click an object in the Tabular Editor window and click Show in Perspective and select the just created perspective. To make it easier, by CTRL + Click the objects, you can assign multiple objects to a perspective in one go.
- If you finished assigning objects to your perspective, you must save the perspective back to your Power BI data model. In the left top you will find an icon to save the changes to your model or use CTRL + S.
Currently, there is no option in Power BI desktop to see what Perspectives you have and what is included in these perspectives. In Tabular Editor there is an option in the top ribbon that allows you to view the Perspectives.
Assign a perspective to a visual
Now we have created the perspective(s) in our model, we need to get it working with the visual personalization features. At this moment, it is only possible to assign a perspective per report page or directly to all pages. This can be done easily in the Format pane of Power BI desktop.
- Make sure that you do not have a visual selected and go to the Format Pane. A new setting, Personalize Visuals, will show up as bottom option.
- Select the perspective you want to assign to the page and decide if you want to assign this perspective to all report pages or only this page.
- Finally, publish your Power BI report to the Power BI service. Testing of this functionality can only be done in the Power BI service.
Wrap up and remarks
I believe that perspectives are really powerful in general, but also a very welcome enrichment for the visual personalization feature. In my previous blog I mentioned that it can become a bit messy and therefore should sell it as a “very strict template” with limited options for customization. With this new enhancement the report author has more control over the changes that can be applied by the end-user to stick with the scope of the page for example.
Having that said, I think it would also be welcome to have the ability to assign perspectives per (group of) visuals. In my previous blog I also highlighted that this functionality might not be useful for every visual. In case the end-user wants to edit a card visual for example, it would be helpful if the report author can provide a set of measure in a separate perspective so that the card visual will keep its purpose.
As a final remark, additional tooling is needed to create the perspectives in your Power BI model. I think it would be very beneficial to have the ability to create, view and maintain perspectives in the Model view of Power BI desktop. After a quick check, I noticed that this idea was already listed on the ideas.powerbi.com website. Kindly vote for this idea here.