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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
PremK
Resolver I
Resolver I

Page Level Security with Calculation Groups || Need Assistance

In my report i used Field Parameters to create a Matrics Table, but im facing Sorting issues. PBI is not remembering the sorting order i applied when i change the filed parameter value. so to overcome this later i created Calculation Groups with the same Fields as field parameter and applied this calculation items in the Matrics and removed the field parameters. 

My report have 2 Users - Authorized and  Unauthorized. 
based on the user logged in i need to enable the Page Navigation button navigates to different pages dynamically. 
I achieved this Page Level Security by this approach >>

i created page level security in PBI report to show specific pages based on user loged in.
1. Create an User Page table with 2 columns like Email and Pages (Pages column have the list of pages this user needs to access)
2. In Manage Roles section, create a Role using USERPRINCIPALNAME() over the Email column
3. In the Main page of report, add Slicer with Pages column. You can add this Slicer as a Menu
4. Add a Page Navigation Button with Condional Destination. In the Destination section click fx and select the Pages column as a Field Value (Summarization - First)
5. Hide All the Pages except the Main page as a Landing page. Now based on the selection made in the Slicer, button will navigate to that page.


this worked well and good, but only until im creating calculations groups.
i created calculation groups for dynamic field values changing and to overcome the sorting issue faced in Field parameter., but after i creating calculation groups the dynamic page navigation button stopped working, in the destination section, the pages column was disabled and i couldnt select that pages column again itself like i selected before


UserPages =
DATATABLE(
"Email",STRING,
"Pages",STRING,
{
{"pkumar@gmail.com","Summary 1"}, {"pkumar@gmail.com","Summary 2"}, {"pkumar@gmail.com","Data"}
{"kumar@gmail.com","Summary 3"}, {"kumar@gmail.com","Summary 4"}, {"kumar@gmail.com","Data 2"}} )


anyone have any solution for combining this page level security and calculation groups ?
or any other ideas for my case ?

1 ACCEPTED SOLUTION
Akash_Varuna
Super User
Super User

Hi @PremK  It might be because calculation groups interfere with the Pages column used for conditional navigation, as they override field references. So, for this, you can modify the UserPages table to include a unique PageID and use it exclusively for navigation logic. Ensure USERPRINCIPALNAME() filters the table based on the user's email, and keep calculation groups independent of the slicer and button setup. Use PageID for navigation while displaying PageName in the slicer to maintain dynamic functionality.

View solution in original post

4 REPLIES 4
v-kathullac
Community Support
Community Support

Hi @PremK ,

we would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.

If our super user response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.

Regards,

Chaithanya

v-kathullac
Community Support
Community Support

Hi @PremK ,

we would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.

If our super user response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.

Regards,

Chaithanya

v-kathullac
Community Support
Community Support

Hi @PremK ,

we would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.

If our super user response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.

Regards,

Chaithanya

Akash_Varuna
Super User
Super User

Hi @PremK  It might be because calculation groups interfere with the Pages column used for conditional navigation, as they override field references. So, for this, you can modify the UserPages table to include a unique PageID and use it exclusively for navigation logic. Ensure USERPRINCIPALNAME() filters the table based on the user's email, and keep calculation groups independent of the slicer and button setup. Use PageID for navigation while displaying PageName in the slicer to maintain dynamic functionality.

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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.

Top Solution Authors