Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
POSPOS
Post Partisan
Post Partisan

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.

1 ACCEPTED SOLUTION
v-pnaroju-msft
Community Support
Community 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.

  1. In Power BI Desktop with TMDL view enabled, create a perspective for Query1 and another for Query2.
  2. On each report page, open the Format pane and assign the appropriate perspective.
  3. Publish the report and verify. Users on Page1 will see only Query1 fields when personalizing, and users on Page2 will see only Query2 fields.
  4. 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 Learn

    We 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.

     

View solution in original post

8 REPLIES 8
v-pnaroju-msft
Community Support
Community 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.

v-pnaroju-msft
Community Support
Community 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-msft
Community Support
Community 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.

  1. In Power BI Desktop with TMDL view enabled, create a perspective for Query1 and another for Query2.
  2. On each report page, open the Format pane and assign the appropriate perspective.
  3. Publish the report and verify. Users on Page1 will see only Query1 fields when personalizing, and users on Page2 will see only Query2 fields.
  4. 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 Learn

    We 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.

     
v-pnaroju-msft
Community Support
Community 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.

@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.

tharunkumarRTK
Super User
Super User

@POSPOS 

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!


PBI_SuperUser_Rank@2x.png
lbendlin
Super User
Super User

Page Level Security does not exist.  Consider using OLS - you can now set that up directly in Power BI. 

Ahmed-Elfeel
Resolver III
Resolver III

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
    FilteredData

 

4-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.

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.