Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi All,
This is regarding the video shared by Injae Park.
I have exact similar requirements. However, I explored a lot and tried different ways, but could not achieve the same.
I checked some discussion on this. Again, with bookmarks it requires users to set up the bookmark on service. And as a developer I would not be able to set it up for users. I have a large list of users and not all users have access to service.
Request if any of you can share your views if you have used such technique. It would even be grateful if you can share a dummy PBIx file addressing such technique.
Power BI slicers don’t support dynamic default selections based on the logged-in user. Even though your measure using USERPRINCIPALNAME() works for filtering visuals conditionally, slicers themselves won’t pre-select a value automatically on report load.
Use Bookmarks for Personal Defaults:
Set the slicer to a user's name.
Create a personal bookmark and have the user save it as their default view.
This still requires one-time setup by each user but works on subsequent opens.
Regards,
Prasad
Power BI slicers don’t have a true “dynamic default selection” (they won’t auto-select a value just because USERPRINCIPALNAME() matches). The practical workaround is to filter the slicer visual itself so it only shows the logged-in user when the report opens. That makes it look like it default-selected them.
Create a measure like this (adjust column names):
IsLoggedInUser =
VAR u = USERPRINCIPALNAME()
RETURN IF( SELECTEDVALUE(DimUsers[UPN]) = u, 1, 0 )
Then select your User slicer (works best with the new Button slicer), open the Filters pane → Filters on this visual, drop IsLoggedInUser there, and set it to is 1. Now the slicer will only display the current user on load, without requiring personal bookmarks or RLS.
If you still want users to optionally view others, you can provide a “Reset / Show all users” experience (e.g., a separate page, or a toggle-driven calculation-group approach), but the core “default to me” behavior is achieved by that visual-level filter.
Assuming your requirement is to default the selection in a 'User' slicer based on logged in user, And with out using RLS and personal boomarks.
I would like to suggest one workaround, If you are ok to
Step 1: add an additional row in your access table for the logged in user and
if you are ok to keep the default selection in the slicer as 'Me' then this workaround might work for you.
Step 2 - Create a measure to filter logged in user from User slicer
RemoveLoggedInUser =
VAR __AllUsers = ALL(DimAccess[User UPN])
VAR __LoggedInUser = USERPRINCIPALNAME()
VAR __UserInCurrentRow = SELECTEDVALUE(
DimAccess[User UPN],
"user1@rtktechietips.com"
)
VAR __LoggedInUserNotinTheAccessTable = NOT (__LoggedInUser IN __AllUsers)
VAR __Result = IF(
__LoggedInUserNotinTheAccessTable,
1,
IF(
__LoggedInUser = __UserInCurrentRow,
0,
1
)
)
RETURN
__Result
Add this measure as visual level filter on User slicer
Step 3 - Create a calculation group to apply logged in User filter
ReplaceMe =
IF(
ISSELECTEDMEASURE([RemoveLoggedInUser]),
SELECTEDMEASURE(),
VAR __AllUsers = ALL(DimAccess[User UPN])
VAR __selectedUser = SELECTEDVALUE(
DimAccess[User UPN],
"user1@rtktechietips.com"
)
VAR __loggedInUser = USERPRINCIPALNAME()
VAR __loggedInUserValue = CALCULATE(
SELECTEDMEASURE(),
KEEPFILTERS(DimAccess[User UPN] = __loggedInUser),
REMOVEFILTERS(DimAccess)
)
VAR __selectedUserValue = SELECTEDMEASURE()
VAR __LoggedInUserNotinTheAccessTable = NOT (__LoggedInUser IN __AllUsers)
VAR __LoggedInUserNotinTheAccessTableValue = CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS(DimAccess)
)
VAR __Result = IF(
__LoggedInUserNotinTheAccessTable && __selectedUser = "loggedInUser",
__LoggedInUserNotinTheAccessTableValue,
IF(
__selectedUser = "loggedInUser",
__loggedInUserValue,
__selectedUserValue
)
)
RETURN
__Result
)
Add this calculation group column as report level filter
Change the slicer selection type as "Single Select".
Keep the default selection in the slicer as "Me".
When user4 logs in, data in the table visual is filtered with user4 and
user4 still has the option to switch to other users.
Hope this helps!
You can download the file from this page
Connect on LinkedIn
Visit my website to read blogs on Power BI and Microsoft Fabric: https://www.techietips.co.in/
|
Hi Prasad,
You are correct that standard Power BI slicers do not natively support dynamic defaults. However, you can achieve the "Injae Park method" without requiring users to set up personal bookmarks by using a Visual-Level Filter on the New Button Slicer.
This approach allows the report to "pre-select" the user based on their login email as soon as the report opens.
Step 1: Create the "User Match" Measure
First, we need a measure that identifies if the user in your data matches the person currently viewing the report.
IsLoggedInUser =
VAR _CurrentUser = USERPRINCIPALNAME()
RETURN
IF( SELECTEDVALUE('AccessTable'[Email]) = _CurrentUser, 1,
0 )
(Replace 'AccessTable'[Email] with the table and column containing your users' login emails).
Step 2: Configure the Button Slicer
Instead of the traditional slicer, use the New Button Slicer visual:
Add your User Name or Email field to the Button Slicer.
Open the Filters Pane while the slicer is selected.
Drag the IsLoggedInUser measure into the "Filters on this visual" section.
Set the filter to is 1 and click Apply filter.
Step 3: Why this works for your scenario
No User Action Required: Because the filter is applied to the visual itself, the slicer will only show (and therefore default to) the logged-in user's name the moment they open the report.
Scalability: This works for 10 users or 10,000 users because it relies on USERPRINCIPALNAME() rather than manual configurations.
No Service Bookmarks: This is a developer-side fix. It functions perfectly for users who only have "Viewer" access and cannot create their own bookmarks.
Pro-Tip:
If you want users to be able to see other people's data after the initial load, you can add a "Reset" button or a secondary slicer that is not filtered by this measure.
If this addresses your requirement for a dynamic default without manual bookmarks, please mark this as an "Accepted Solution" so other community members can find it!
Best regards,
Vishwanath
thank you @AshokKunwar for the reply. Let me check the suggested ideas and come back shortly (1 or 2 days). Regards, Prasad
Hi @prasaddn
Your issue is solved ✅ or not ❌
If this addresses your requirement for a dynamic default without manual bookmarks, please mark this as an "Accepted Solution" so other community members can find it!
Best regards,
Vishwanath
Hi @prasaddn ,
Thank you for reaching out to the Microsoft Community Forum.
Native Power BI slicers don’t support a dynamic default selection based on the logged‑in user (e.g., via USERPRINCIPALNAME()), even though that function works perfectly to conditionally filter visuals/measures. Slicers themselves remain “sticky” last published or last personal selection unless you use bookmarks or a workaround.
Please try below alternative workarounds without RLS.
1. If all users open the same starting view not personalized, you can publish the report with your desired filters, then rely on persistent filters in Service or Reset to default. Or add a Bookmark + Button that resets the page to your chosen default view.
2. Ask each user to select their name in the slicer once, then Save as personal bookmark and Set as default view. Personal bookmarks persist across browsers/devices and don’t need RLS.
3. If you want a default subset like current user’s territories that applies only when slicers are not actively filtering, you can use a calculation group to inject filters until a slicer selection exists.
Please try below links.
Overview of Bookmarks in Power BI Service Reports - Power BI | Microsoft Learn
Set Up Default Filters in Power BI - Microsoft Fabric Community
How to dynamically select the default values we ne... - Microsoft Fabric Community
Please refer below Ideas forum link and upvote the appropriate idea related to your scenario.
Dynamically switch between bookmarks based on sele... - Microsoft Fabric Community
Search - Microsoft Fabric Community
If not we would recommend submitting your detailed feedback and ideas through Microsoft's official feedback channels, such as Microsoft Fabric Ideas. Feedback submitted through these channels is frequently reviewed by the product teams and can contribute to meaningful improvements.
https://ideas.fabric.microsoft.com/ideas/search-ideas/
I hope this information helps. Please do let us know if you have any further queries.
Regards,
Dinesh
thank you @v-dineshya for taking time and sharing your thoughts. I will explore the links and options provided to see what best can match my requirements.
Hi @prasaddn ,
Thank you for the update. As you mentioned in your previous response, you are working on provided solution, could you please provide the Estimated time for arrival (ETA) for this thread.
Regards,
Dinesh
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 40 | |
| 35 | |
| 34 | |
| 31 | |
| 28 |
| User | Count |
|---|---|
| 137 | |
| 102 | |
| 68 | |
| 66 | |
| 64 |