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!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I implemented a solution (based on this thread) where I used a calculated column in my fields parameter table to categorize columns (e.g., "Apple," "Banana") and added a slicer to dynamically show/hide columns in a table visual. This works for columns exclusive to one category.
New Problem: Some columns (e.g., metadata.name) are shared across multiple categories. For example:
metadata.name should appear for both "Apple" and "Banana" categories.
The initial solution fails here because the calculated column assigns each field to a single category.
What I Need:
When a user selects "Apple" in the slicer, the table should show:
All Apple-specific columns (e.g., Apple_Col1, Apple_Col2).
Shared columns like metadata.name.
Constraints:
I have 15+ categories and want to avoid manual work (e.g., duplicating metadata.name as metadata.apple_name, metadata.banana_name).
Bookmarks are not scalable.
Relationships between tables break when filtering from categories to field parameters.
Attempted solution:
I have tried using a bridge table that contains rows of metadata columns and says the category (with there being an extra row for metadata.name, one for banana and one for apple). This might be the solution for it, but I haven't been able to set it up correctly. I set up a many-to-many relationship and selecting apple would filter the parameter table but not remove the extra columns from the table.
Solved! Go to Solution.
This is a classic challenge with dynamic column selection and shared fields across multiple categories in Power BI, especially when using field parameters and slicers for column visibility.
You want the table to show:
But with >15 categories, you want to avoid manual duplication, bookmarks, or unscalable workarounds. Your bridge table idea is close, but the filtering behavior with many-to-many relationships isn’t doing what you want.
Instead of assigning each column to a single category, structure your parameter table so columns can belong to multiple categories. Here’s how:
Example:
Parameter Name Field CategoryApple Brand | metadata.apple_brand | Apple |
Apple Color | metadata.apple_color | Apple |
Banana Price | metadata.banana_price | Banana |
Banana Weight | metadata.banana_weight | Banana |
Name | metadata.name | Apple |
Name | metadata.name | Banana |
If you’d like, I can provide a sample DAX script to generate such a parameter table or further clarify any of the steps above.
Let me know if this solves your scenario or if you need more granular help setting it up!
translation and formatting supported by AI
Hi @drsomething123,
I wanted to check if you had the opportunity to review the information provided by @johnt75 @burakkaragoz . Please feel free to contact us if you have any further questions. If the response has addressed your query, please accept it as a solution so other members can easily find it.
Thank you.
One option would be to duplicate rows in the field parameter table so that e.g. metadata.name appears once for every category it should be included in. This would work if you were going to force selection of a single item in the slicer, but would not work well if multiple or no selections were possible.
Another option would be to to set the category column in the field parameter table to something different for entries which should appear across multiple categories, e.g. "Multiple".
With this second approach you would need to create a disconnected table for use in the slicer, e.g.
Category for slicer =
FILTER (
DISTINCT ( 'Parameter Table'[Category] ),
'Parameter Table'[Category] <> "Multiple"
)
Next create a measure like
Param is visible =
IF (
SELECTEDVALUE ( 'Parameter Table'[Category] )
IN UNION ( VALUES ( 'Category for slicer'[Category] ), { "Multiple" } ),
1
)
On the matrix visual, add a TopN filter on the field parameter column using this measure as the value and set it to show the top 1.
This is a classic challenge with dynamic column selection and shared fields across multiple categories in Power BI, especially when using field parameters and slicers for column visibility.
You want the table to show:
But with >15 categories, you want to avoid manual duplication, bookmarks, or unscalable workarounds. Your bridge table idea is close, but the filtering behavior with many-to-many relationships isn’t doing what you want.
Instead of assigning each column to a single category, structure your parameter table so columns can belong to multiple categories. Here’s how:
Example:
Parameter Name Field CategoryApple Brand | metadata.apple_brand | Apple |
Apple Color | metadata.apple_color | Apple |
Banana Price | metadata.banana_price | Banana |
Banana Weight | metadata.banana_weight | Banana |
Name | metadata.name | Apple |
Name | metadata.name | Banana |
If you’d like, I can provide a sample DAX script to generate such a parameter table or further clarify any of the steps above.
Let me know if this solves your scenario or if you need more granular help setting it up!
translation and formatting supported by AI