Forum Discussion
Hide tables when using personalize feature
Hi,
I am using SAP BW as a source and getting 2 different tables into Power BI desktop (Query 1, Query 2).
I also have 2 different pages in my dashboard. Each page is getting data from the queries -> Page 1 from Query 1 and Page 2 from Query 2.
This dashboard also have page level security -> Few users will see page 1 and few users page 2.
Now, I am also enabling personalize feature, So when the user clicks on the personalise feature from page 1, they are seeing both the tables- table 1 and table 2 which is misleading.
Is there a way, I can control this so that the user who has access to page 1 only sees query 1 when they click on personalise from Power BI Service.
I read that this can be achieved using Tabular Editor, but we are restricted from using external tools.
Is there any other way to achieve this using Power Bi desktop.
Thank you.
Hi POSPOS,
Thank you for the follow up.Based on my understanding, the Personalize visuals feature exposes all fields from the dataset by default. Without additional configuration, users will see both the Query1 and Query2 tables even if they access only one page.
We can achieve the desired behaviour without splitting the report by configuring Perspectives in the model and assigning them to each report page. When a perspective is assigned to a page, Personalize visuals displays only the fields included in that perspective for that page.
- In Power BI Desktop with TMDL view enabled, create a perspective for Query1 and another for Query2.
- On each report page, open the Format pane and assign the appropriate perspective.
- Publish the report and verify. Users on Page1 will see only Query1 fields when personalizing, and users on Page2 will see only Query2 fields.
- If you need to hide objects completely rather than only simplify Personalize visuals, configure Object-Level Security (OLS) via TMDL. This approach allows you to maintain a single report and reduces maintenance overhead. If TMDL is blocked in your tenant, please consult your administrator.
Please refer to the links below for further information:
Personalize visuals in a report - Power BI | Microsoft Learn
Let users personalize visuals in a report - Power BI | Microsoft Learn
Tabular Model Definition Language (TMDL) | Microsoft Learn
Use Tabular Model Definition Language (TMDL) view in Power BI Desktop - Power BI | Microsoft Learn
Object-Level Security (OLS) with Power BI - Microsoft Fabric | Microsoft LearnWe hope the information provided helps to resolve the issue. Should you have any further queries, please feel free to contact the Microsoft Fabric community.
Thank you.
Hi POSPOS
You can achieve same result using TMDL scripting within Power BI. The sample from the screenshots above generates the following script:
However, I would most definitely recommend Tabular Editor as I would rather use a GUI rather than potentially breaking your model via scripting.
12 Replies
- Ahmed-ElfeelSuper User
Hi POSPOS,
I am Sorry to say that is no direct way to control which tables/queries are visible during personalization for specific users or pages.....the personalization feature shows all available datasets by default.
However you can try these workarounds you can implement without using Tabular Editor:
1-Create separate Power BI reports for each user group (Data Source Permissions)
- Report 1: Contains only Query 1 data + Page 1
- Report 2: Contains only Query 2 data + Page 2
- Use Row Level Security (RLS) or workspace permissions to control access
2-Try to hide Table from the Model
- Go to Model view
- Right click on tables you want to hide
- Select Hide in report view
Note: This doesnt completely prevent visibility in personalization but reduces clutter
3-Create a single query that uses parameters to control data visibility:
let Source = if UserPermission = "Group1" then Query1 else Query2, FilteredData = Source in FilteredData4-Combine Report with Dynamic Visibility
Keep both queries but use measures to control visibility:
Page 1 Measure = IF(ISFILTERED('UserTable'[UserGroup]), CALCULATE([YourMeasure], 'UserTable'[UserGroup] = "Group1"), BLANK() )- Use bookmarks and selection panes to hide/show visuals based on user context
I hope this is useful ☺️❤️if this post helps, then I would appreciate a thumbs up and mark it as the solution to help the other members find it more quickly. - lbendlinSuper User
Page Level Security does not exist. Consider using OLS - you can now set that up directly in Power BI.
- tharunkumarRTKSuper User
I think you should consider splitting this report in two, include them in an app.
From your existing semantic model,
1.create two reports: Report 1 and Report 2 pointing to the same semantic model.
2. In your semantic model create two perspectives, one for report 1 and second one for report 2. Configure these perspectives in each report.
3. publish the two reports to your workspace and then include them into your app.
4. With the app navigation users can navigate to appropriate report. (you can also restrict it to specific users by using app ausidence groups .
this way, when they are in report 1 they will see query 1 fields when they click on personalize (as you have selected appropriate perspective report 1)
You can also do this power bi desktop thanks to TMDL view,
something like
createOrReplace perspective 'My Sales Perspective' perspectiveTable 'Sales' includeAll: true perspectiveTable 'Customers' perspectiveColumn 'Customer Name' perspectiveColumn 'Region' perspectiveTable 'Products' perspectiveMeasure 'Total Sales' perspectiveHierarchy 'Product Category'Connect on LinkedIn
Did I answer your question? Mark my post as a solution! If I helped you, click on the Thumbs Up to give Kudos.
Proud to be a Super User!
- v-pnaroju-msftCommunity Support
Thankyou Ahmed-Elfeel, lbendlin, and tharunkumarRTK for your responses.
Hi POSPOS,
We appreciate your inquiry through the Microsoft Fabric Community Forum.
We would like to inquire whether have you got the chance to check the solutions provided by Ahmed-Elfeel, lbendlin and tharunkumarRTK to resolve the issue. We hope the information provided helps to clear the query. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.
Thank you.
- POSPOSPost Partisan
v-pnaroju-msft - Our requirement is to have one single report without splitting it. Creating seperate reports will need a lot of maintaince in our use case as there are multiple tables involved and creating seperate may not be the best approach in our use case.
- v-pnaroju-msftCommunity Support
Hi POSPOS,
Thank you for the follow up.Based on my understanding, the Personalize visuals feature exposes all fields from the dataset by default. Without additional configuration, users will see both the Query1 and Query2 tables even if they access only one page.
We can achieve the desired behaviour without splitting the report by configuring Perspectives in the model and assigning them to each report page. When a perspective is assigned to a page, Personalize visuals displays only the fields included in that perspective for that page.
- In Power BI Desktop with TMDL view enabled, create a perspective for Query1 and another for Query2.
- On each report page, open the Format pane and assign the appropriate perspective.
- Publish the report and verify. Users on Page1 will see only Query1 fields when personalizing, and users on Page2 will see only Query2 fields.
- If you need to hide objects completely rather than only simplify Personalize visuals, configure Object-Level Security (OLS) via TMDL. This approach allows you to maintain a single report and reduces maintenance overhead. If TMDL is blocked in your tenant, please consult your administrator.
Please refer to the links below for further information:
Personalize visuals in a report - Power BI | Microsoft Learn
Let users personalize visuals in a report - Power BI | Microsoft Learn
Tabular Model Definition Language (TMDL) | Microsoft Learn
Use Tabular Model Definition Language (TMDL) view in Power BI Desktop - Power BI | Microsoft Learn
Object-Level Security (OLS) with Power BI - Microsoft Fabric | Microsoft LearnWe hope the information provided helps to resolve the issue. Should you have any further queries, please feel free to contact the Microsoft Fabric community.
Thank you.
- POSPOSPost Partisan
v-pnaroju-msft - Can you provide steps on how to create create a perspective for Query1 and another for Query2. and how to assign this to the page in the Format pane as I do not find this option
- hnguy71Super User
Hi POSPOS
As many have mentioned, you may use TMDL to script the perspectives, or alternatively, Tabular Editor.
I'll show you how to use Tabular Editor to create perspectives and apply them to each page:
- Open up Tabular Editor and connect to your model, then right click Perspectives and click 'New Perspective'. Label the new perspective(s) as you see fit
- Highlight all columns, measures, and tables that you'd like to customize and add to a perspective. Then right-click and within the new menu, select 'Show in Perspectives' and select / apply to any of the perspectives you have created:
-
Commit the changes to your model
-
If you have not already turne on personalization, go to report settings and make sure it's enabled:
-
Finally, for each page, go to the page settings and apply the perspective to that specific page:
- Open up Tabular Editor and connect to your model, then right click Perspectives and click 'New Perspective'. Label the new perspective(s) as you see fit
- v-pnaroju-msftCommunity Support
Hi POSPOS,
We are following up to see if what we shared solved your issue. If you need more support, please reach out to the Microsoft Fabric community.
Thank you. - v-pnaroju-msftCommunity Support
Hi POSPOS,
We wanted to see if the information we gave helped fix your problem. If you need more help, please feel free to contact the Microsoft Fabric community.
Thank you.