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!Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.
Hello,
I am trying to build a table/matrix that will adjust whenever I choose a certain selection from a slicer. We are looking at meetings attended by individuals and not all columns from our datatset apply to all individuals. In the data, there is currently three categories for a meeting to fall under, "X", "N/A", and "". I only want to show "X" and "" for individuals and I want to filter out "N/A" because those are the meetings that do not apply to that individual. The problem I am having is when I use the filter option, say for "Meeting 1" and I go to filter out the "N/A" it then messes with the data for the other meeting sections. Here is my current visual layout:
Please let me know if more information is needed. I cannot provide the file due to private information.
It seems like you want to create a dynamic table or matrix visual in Power BI that adjusts its content based on the selection made in a slicer. Specifically, you want to filter out "N/A" meetings for individuals when a particular meeting is selected in the slicer. You can achieve this by using a combination of slicers, filters, and DAX measures in Power BI. Here's a general guideline on how to set this up:
Create a Slicer:
Create a Matrix or Table:
Define Measures:
You'll need to create DAX measures to control the visibility of meetings based on the slicer selection. For example, let's assume your meetings have a column called "MeetingStatus," where it's either "X," "N/A," or "".
Create a DAX measure to filter out "N/A" meetings based on the slicer selection. Here's an example:
Filtered Meetings = CALCULATE(
COUNTROWS(YourTable),
FILTER(
YourTable,
YourTable[Meeting] = SELECTEDVALUE(SlicerTable[SelectedMeeting]) &&
YourTable[MeetingStatus] <> "N/A"
)
)
In this measure, replace "YourTable" with your actual table name, "Meeting" with the name of your meeting column, and "MeetingStatus" with the name of your status column.
Use Measure in Visual:
Interactions:
Test Your Report:
Remember to adapt the measures and column names to match your specific dataset and requirements. This approach allows you to filter the data displayed in the visual based on slicer selections without affecting other parts of your report.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
Hello,
Thank you for your response, based off of your summary, you understand what I am trying to accomplish. Below is a photo of how the data is coming into PBI. Can you apply this same DAX logic with the layout of the data shown below? if so, how would you write it?
We do not have a "Meeting Status" column because of the layout of the data.
Hi,
I am out of city therefore replay is late.
I understand that you don't have a specific "Meeting Status" column in your data, but you want to filter the data based on the layout provided. In this case, you can still achieve the desired result by creating a calculated column that generates the meeting status based on the existing columns in your dataset.
Assuming you have a table structure similar to the one shown below:
| Individual | Meeting 1 | Meeting 2 | Meeting 3 | ... |
|------------|-----------|-----------|-----------|-----|
| Person A | X | | | |
| Person B | | X | | |
| Person C | N/A | N/A | X | |
| ... | ... | ... | ... | ... |
You can create a calculated column to determine the meeting status for each individual. You can use a formula like this:
MeetingStatus =
IF([Meeting 1] = "X" || [Meeting 2] = "X" || [Meeting 3] = "X", "X", "")
This formula checks each meeting column for "X" attendance and assigns "X" to the calculated column if any of the meetings has "X" attendance; otherwise, it assigns an empty string ("") for "N/A" or non-attended meetings.
After creating the "MeetingStatus" calculated column, you can proceed with the steps mentioned in my previous response to filter your data based on the slicer selection, using the FilteredData measure. The measure would remain the same as previously described:
FilteredData = FILTER(YourTableName, YourTableName[MeetingStatus] IN {"X", ""})
Replot YourTableName with the actual name of your table.
With this approach, you can dynamically filter the data to show only "X" and "" for individuals based on the slicer selection, even without a dedicated "Meeting Status" column in your original data.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.