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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
dd999
Regular Visitor

Filter contains multiple name values select name to update all visuals

power bi report displays phone calls taken by agents/ receptionist staff

 

The visuals are

stacked column - displays total calls by months

stacked column - displays total calls by days

line chart - displays total calls by hours

 

currently the visuals are hardcoded to receptionist name with measures

Therefore for a total of 5 receptionist staff, on the page I have 5 rows that displays for each receptionist name.

 

The requirement is
display drop down list of receptionist name
display 1 row of visuals
in the drop downlist, when name selected,  to update all visuals to the staffs totals.

 

The drop down list is a slicer

 

what needs to be done to achieve this

 

TIA

 

 

nameFilter.png

 

2 ACCEPTED SOLUTIONS

Hi @dd999 ,

 

try below:

Total_Count_staff1 =
var selected_agent=SELECTEDVALUE(AgentTimelineAnalyticsRaw[Agent Name])
RETURN
CALCULATE(
COUNTROWS(AgentTimelineAnalyticsRaw),
REMOVEFILTERS(AgentTimelineAnalyticsRaw),
AgentTimelineAnalyticsRaw[Agent Name] = selected_agent
)
Average Call Length_MCM_staff1 =
var selected_agent=SELECTEDVALUE(AgentTimelineAnalyticsRaw[Agent Name])
RETURN
CALCULATE(
AVERAGE('AgentTimelineAnalyticsRaw'[Call Duration Minutes_Clean]),
REMOVEFILTERS('AgentTimelineAnalyticsRaw'),
'AgentTimelineAnalyticsRaw'[Agent Name_combine] = selected_agent
)

Pleas egive kudos or mark it as solution once confirmed.

 

Thanks and Regards,

Praful

View solution in original post

Selva-Salimi
Solution Sage
Solution Sage

Hi @dd999 ,

 

you just need to remove second section from your measures and just select in the slicer. these are your updated measures...

 

Total_Count =
CALCULATE(
COUNTROWS(AgentTimelineAnalyticsRaw))

 

Average Call Length_MCM =
CALCULATE(
AVERAGE('AgentTimelineAnalyticsRaw'[Call Duration Minutes_Clean]))

 

 

If this post helps, then I would appreciate a thumbs up 👍 and mark it as the solution ✔️ to help the other members find it more quickly.

View solution in original post

10 REPLIES 10
krishnakanth240
Skilled Sharer
Skilled Sharer

Hi @dd999 

 

Target State (What You Want)
- One slicer with Receptionist Name
- One set of visuals (monthly, daily, hourly)
- Selecting a name updates all visuals automatically
x No hardcoded measures per receptionist

 

Root Cause of Current Issue
Your visuals are hardcoded like:
Calls_Receptionist_A =
CALCULATE ( COUNT ( Calls[CallID] ), Calls[Name] = "A" )
This breaks interactivity and forces you to duplicate visuals.

 

Correct possible Solution
Step 1: Create / Use a Receptionist Dimension
If not already present, create a lookup table:
Receptionist =
DISTINCT ( Calls[ReceptionistName] )

Create relationship:
Receptionist[ReceptionistName] → Calls[ReceptionistName]

 

Step 2: Create ONE Generic Measure (No Names Hardcoded)
Total Calls :=
COUNT ( Calls[CallID] )

x No receptionist filters in the measure.

 

Step 3: Create the Slicer
Add Receptionist[ReceptionistName] to a Slicer
Set slicer type → Dropdown
Enable Single select (optional, recommended)

 

Step 4: Build Your Visuals (Once Only)

Use the same measure everywhere:

Stacked Column – Calls by Month
Axis → Date[Month]
Values → [Total Calls]

 

Stacked Column – Calls by Day
Axis → Date[Day]
Values → [Total Calls]

 

Line Chart – Calls by Hour
Axis → Calls[Hour]
Values → [Total Calls]

 

What Happens Now?
Selecting a receptionist in the slicer filters the Calls table
All visuals update automatically
Only one row of visuals needed
Scales instantly for new staff

If You Need “All Receptionists” Option
Power BI slicers do this by default:
Clear selection → shows totals for all
OR
Enable Select All

 

Shubham_rai955
Memorable Member
Memorable Member

Model setup

  • Have a table like DimReceptionist with a unique row per receptionist and a key used in the calls fact table (e.g. ReceptionistID).

  • Make a relationship from FactCalls[ReceptionistID] to DimReceptionist[ReceptionistID] and remove the old hard‑coded measures that filter by individual names.

Measures and visuals

  • Replace the 5 separate measures with generic ones, for example:

    • Total Calls by Month := COUNTROWS ( FactCalls ) (used with Month axis)

    • Similar measures for day and hour charts; they will naturally respect the receptionist filter from the dimension.

  • Add a slicer using DimReceptionist[Name]; by default it filters all visuals on the page so a single row of charts will show the selected receptionist’s data.

If you need one row only, delete the duplicate visual rows and keep a single set of three visuals connected to this receptionist slicer.

v-pnaroju-msft
Community Support
Community Support

Hi dd999,

We are following up to see if what we shared solved your issue. If you need more support, please reach out to the Microsoft Fabric community.

Thank you.

v-pnaroju-msft
Community Support
Community Support

Thankyou, @Praful_Potphode, @rohit1991, @Ashish_Mathur, and @Selva-Salimi for your responses.

Hi dd999,

We appreciate your inquiry through the Microsoft Fabric Community Forum.

We would like to inquire whether have you got the chance to check the solutions provided by @Praful_Potphode, @rohit1991, @Ashish_Mathur, and @Selva-Salimito resolve the issue. We hope the information provided helps to clear the query. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.

Thank you.

Selva-Salimi
Solution Sage
Solution Sage

Hi @dd999 ,

 

you just need to remove second section from your measures and just select in the slicer. these are your updated measures...

 

Total_Count =
CALCULATE(
COUNTROWS(AgentTimelineAnalyticsRaw))

 

Average Call Length_MCM =
CALCULATE(
AVERAGE('AgentTimelineAnalyticsRaw'[Call Duration Minutes_Clean]))

 

 

If this post helps, then I would appreciate a thumbs up 👍 and mark it as the solution ✔️ to help the other members find it more quickly.

Ashish_Mathur
Super User
Super User

Hi,

That should be default/built in functionality without any hardcoding.  Share the download link of the PBI file.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
rohit1991
Super User
Super User

Hi @dd999 

Could you please try below steps:
1. I used  below Sample Data to solve this problem:

image.png

 

 

 

 

 

 

 

 

 

 

2. Delete the receptionist-specific filter inside each measure:
Example:

TotalCalls_John =
CALCULATE(COUNTROWS(Calls), Calls[Agent] = "John")

 

Replace it with a generic measure:

Total Calls =
COUNTROWS(Calls)


image.png

 


Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Praful_Potphode
Solution Sage
Solution Sage

Hi @dd999 ,

 

You can remove the hardcoding from the measure and use selectedvalue dax to read the name from slicer.

for example below is example of your measure:

Receptionist1_Calls = CALCULATE([Total Calls], Staff[Name] = "John Smith")

above will be converted to below measure:

Receptionist1_Calls = 
var Selected_Receptionist = SELECTEDVALUE(Staff[Name], "No Selection")
CALCULATE([Total Calls], Staff[Name] =Selected_Receptionist )

if you need more information on this please provide sample  input/output to work with.

Please give kudos or mark it as solution once confirmed.

 

Thanks and Regards,

Praful

 

these are the measures used for each staff member set to the visuals

 

Total_Count_staff1 =
CALCULATE(
COUNTROWS(AgentTimelineAnalyticsRaw),
AgentTimelineAnalyticsRaw[Agent Name] = "staff1 "
)

 

Average Call Length_MCM_staff1 =
CALCULATE(
AVERAGE('AgentTimelineAnalyticsRaw'[Call Duration Minutes_Clean]),
'AgentTimelineAnalyticsRaw'[Agent Name_combine] = "staff1"
)

 

 

 

Hi @dd999 ,

 

try below:

Total_Count_staff1 =
var selected_agent=SELECTEDVALUE(AgentTimelineAnalyticsRaw[Agent Name])
RETURN
CALCULATE(
COUNTROWS(AgentTimelineAnalyticsRaw),
REMOVEFILTERS(AgentTimelineAnalyticsRaw),
AgentTimelineAnalyticsRaw[Agent Name] = selected_agent
)
Average Call Length_MCM_staff1 =
var selected_agent=SELECTEDVALUE(AgentTimelineAnalyticsRaw[Agent Name])
RETURN
CALCULATE(
AVERAGE('AgentTimelineAnalyticsRaw'[Call Duration Minutes_Clean]),
REMOVEFILTERS('AgentTimelineAnalyticsRaw'),
'AgentTimelineAnalyticsRaw'[Agent Name_combine] = selected_agent
)

Pleas egive kudos or mark it as solution once confirmed.

 

Thanks and Regards,

Praful

Helpful resources

Announcements
FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.