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!
I've a report in Power BI Report Builder with a filter based on modules. I need to display visual elements—tables and charts—based on the selected modules. If I select the module 'SID', I should see a table populated with SID data.
If I select both SID and JACKET, I should see one table for SID and one for JACKET. The same applies to charts.
Is there a way to dynamically change the content of a table or chart based on the selected module value?
Thanks
Solved! Go to Solution.
In Power BI Report Builder (Paginated Reports), you don’t have the same “visual-level filters” that you do in Power BI Desktop, but you can achieve what you want with expressions, parameters, and visibility rules.
Here’s how you can set it up:
1. Use the Module Parameter
When you create your filter on Module (SID, JACKET, etc.), this is just a report parameter behind the scenes.
Let’s say the parameter is called @Module.
2. Filter the Dataset
You can create separate datasets for SID and JACKET.
Example:
DatasetSID filters WHERE Module = 'SID'.
DatasetJACKET filters WHERE Module = 'JACKET'.
Then bind DatasetSID to the SID table, and DatasetJACKET to the JACKET table.
3. Control Visibility of Tables/Charts
For each table/chart, set its Visibility → Show/Hide based on expression.
Example for SID table:
=IIF(InStr(Join(Parameters!Module.Value, ","), "SID") > 0, False, True)
This means: if SID is among the selected values, show the table; otherwise hide it.
Example for JACKET table:
=IIF(InStr(Join(Parameters!Module.Value, ","), "JACKET") > 0, False, True)
This way, multiple modules selected will display multiple tables/charts.
4. Alternative: Single Tablix with Grouping
If you don’t want separate tables:
Use one dataset with all modules.
Insert a Tablix (table or chart) grouped by Module.
Add a filter on the Tablix group:
=Parameters!Module.Value
This will dynamically generate a section for each selected module.
Hi @Fern_21 ,
This type of functionality is supported in Paginated Reports. While it isn’t possible to dynamically create new visuals on the fly, you can achieve the same outcome by using a List control to repeat visuals for each module. The key is to make sure your dataset is filtered by the parameter, such as Module, so that the report only returns the relevant rows. Once that’s set, you can group the List on the module field and place a table or chart inside it. This way, the report will automatically generate a separate visual for each module that is selected. For instance, if you select only SID, you’ll see one table, and if you select both SID and JACKET, the report will display two separate tables, one for each. If you prefer to display everything together, you also have the option of grouping a single table or chart by module so that all modules appear in one visual.
Another approach is to use expressions in the visibility property to show or hide visuals based on the parameter values. This gives you flexibility while ensuring that each module is represented in the way that works best for your report.
This method ensures that each module is represented by its own visual when selected.
Best regards,
Tejaswi.
Hi @Fern_21 ,
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.
Thank you,
Tejaswi.
Hi @Fern_21 ,
I wanted to follow up and see if you had a chance to review the information shared. If you have any further questions or need additional assistance, feel free to reach out.
Thank you,
Tejaswi.
Hi @Fern_21 ,
Just checking in have you been able to resolve this issue? If so, it would be greatly appreciated if you could mark the most helpful reply accordingly. This helps other community members quickly find relevant solutions.
Thank you.
In Power BI Report Builder (Paginated Reports), you don’t have the same “visual-level filters” that you do in Power BI Desktop, but you can achieve what you want with expressions, parameters, and visibility rules.
Here’s how you can set it up:
1. Use the Module Parameter
When you create your filter on Module (SID, JACKET, etc.), this is just a report parameter behind the scenes.
Let’s say the parameter is called @Module.
2. Filter the Dataset
You can create separate datasets for SID and JACKET.
Example:
DatasetSID filters WHERE Module = 'SID'.
DatasetJACKET filters WHERE Module = 'JACKET'.
Then bind DatasetSID to the SID table, and DatasetJACKET to the JACKET table.
3. Control Visibility of Tables/Charts
For each table/chart, set its Visibility → Show/Hide based on expression.
Example for SID table:
=IIF(InStr(Join(Parameters!Module.Value, ","), "SID") > 0, False, True)
This means: if SID is among the selected values, show the table; otherwise hide it.
Example for JACKET table:
=IIF(InStr(Join(Parameters!Module.Value, ","), "JACKET") > 0, False, True)
This way, multiple modules selected will display multiple tables/charts.
4. Alternative: Single Tablix with Grouping
If you don’t want separate tables:
Use one dataset with all modules.
Insert a Tablix (table or chart) grouped by Module.
Add a filter on the Tablix group:
=Parameters!Module.Value
This will dynamically generate a section for each selected module.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 59 | |
| 46 | |
| 42 | |
| 23 | |
| 18 |
| User | Count |
|---|---|
| 192 | |
| 125 | |
| 99 | |
| 67 | |
| 48 |