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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Add Option to Control Visibility of Visuals and Buttons Using DAX Measures

Power BI currently lacks the ability to dynamically show or hide visuals—including buttons—based on DAX measures. This is a critical limitation when designing interactive, personalized, or role-based reports.

Why this matters:

  • Many reports need to show or hide elements (e.g., buttons, shapes, visuals) based on the logged-in user, filters, or business rules.

  • Currently, developers must use complex and clunky workarounds involving bookmarks, duplicate pages, and layered visuals to simulate dynamic visibility.

  • Transparent shapes or cards used as blockers still consume mouse focus, preventing interactivity with hidden elements underneath.

  • Bookmark-based workarounds are hard to maintain and scale.

Proposed enhancement:

  • Add a “Visible” property to all visuals and buttons in the Format pane that accepts a DAX measure returning TRUE/FALSE.

  • When the measure evaluates to TRUE, the visual is shown; when FALSE, it's hidden.

  • This would work similarly to how conditional formatting currently works for properties like color, text, and values.

Example usage:

 
ShowButton = USERPRINCIPALNAME() IN {"manager@company.com", "admin@company.com"}
 

Set this as the visibility condition for a button to make it accessible only to specific users.

Benefits:

  • Cleaner, more maintainable reports.

  • Enables true role-based UI without duplicating pages or using bookmarks.

  • Improves usability and report security.

  • Aligns with how other platforms (e.g., Power Apps) handle visibility.

Status: New
Comments
RHOU
Advocate III
I've been wanting this for years. QlikView had it already back in 2008. There is apparently a dirty workaround: - put a rectangle over the visual - use a measure to set the background color of the rectangle. the last two digits are apparently the alpha channel and if that is set to 00 it goes transparent. - #FFFFFF00 = transparent - #FFFFFF is white BGofRectangle= if(USERPRINCIPALNAME() IN {"manager@company.com", "admin@company.com"}, #FFFFFF00, #FFFFFF ) //transparent if user is admin, otherwise white to hide the underlying visual
sed_jackob
New Member
The issue with this approach is that the invisible box will stay on top of the 'action botton' and users will not be able to interact with it.
RHOU
Advocate III
agree. let's hope that this "PLANNED" status that was set in Feb 2025 actually means that we will see this coming some time soon. https://community.fabric.microsoft.com/t5/Fabric-Ideas/Visibilty-Hide-an-Item/idi-p/4501757