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!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Building a Staff Organisation dashboard, and we want to be able to filter by Staff Expertise
Some staff have multiple expertise
A messy slicer with comma delimited expertise would technically work when using the search function, but isn't user friendly if scrolling and selecting.
SO
I have 3 columns in the database - Expertise 1, Expertise 2, Expertise 3
Is there anyway that a slicer can take the uniques of all these 3 columns and turn it into a single filter list - without the heirachal steps
Thanks in advance
Solved! Go to Solution.
You can try something like the following...
I made a small sample dataset
Create a calculated table with,
Exp List =
var _vTable =
UNION(
SELECTCOLUMNS('Table', "Experience", 'Table'[Exp1]),
SELECTCOLUMNS('Table', "Experience", 'Table'[Exp2]),
SELECTCOLUMNS('Table', "Experience", 'Table'[Exp3])
)
Return
FILTER(
DISTINCT(_vTable),
[Experience]<> ""
)
To get a distinct list of non-blank experience.
Create a measure,
Measure =
var _expTable =
UNION(
SELECTCOLUMNS('Table', "_exp", SELECTEDVALUE('Table'[Exp1])),
SELECTCOLUMNS('Table', "_exp", SELECTEDVALUE('Table'[Exp2])),
SELECTCOLUMNS('Table', "_exp", SELECTEDVALUE('Table'[Exp3]))
)
Return
COUNTROWS(INTERSECT(_expTable, 'Exp List'))
Create a table visual (or matrix should also work) with your values.
Put the measure in the filter pane under 'Filters on this Visual' (for the table you created) and set the filter value to greater than 0
Create a slicer with the values from the calculated table and you should now be able to slice by experience.
Proud to be a Super User! | |
How to go about by creating a slicer which allows users to choose either exp 1/2/3.
Then this selection only returns a table with that specific column . Eg if user selects exp 1 . A table is return with distict values of 1 . Then this can be added to the text filter search ?
How to go about this ?
You can try something like the following...
I made a small sample dataset
Create a calculated table with,
Exp List =
var _vTable =
UNION(
SELECTCOLUMNS('Table', "Experience", 'Table'[Exp1]),
SELECTCOLUMNS('Table', "Experience", 'Table'[Exp2]),
SELECTCOLUMNS('Table', "Experience", 'Table'[Exp3])
)
Return
FILTER(
DISTINCT(_vTable),
[Experience]<> ""
)
To get a distinct list of non-blank experience.
Create a measure,
Measure =
var _expTable =
UNION(
SELECTCOLUMNS('Table', "_exp", SELECTEDVALUE('Table'[Exp1])),
SELECTCOLUMNS('Table', "_exp", SELECTEDVALUE('Table'[Exp2])),
SELECTCOLUMNS('Table', "_exp", SELECTEDVALUE('Table'[Exp3]))
)
Return
COUNTROWS(INTERSECT(_expTable, 'Exp List'))
Create a table visual (or matrix should also work) with your values.
Put the measure in the filter pane under 'Filters on this Visual' (for the table you created) and set the filter value to greater than 0
Create a slicer with the values from the calculated table and you should now be able to slice by experience.
Proud to be a Super User! | |
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 66 | |
| 60 | |
| 45 | |
| 19 | |
| 15 |
| User | Count |
|---|---|
| 108 | |
| 108 | |
| 41 | |
| 30 | |
| 27 |