March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
I have a list of Customer IDs, each has multiple contact points (Contact IDs). We have our customers grouped into various segments, each with a target for the number of contact points.
Customer Contacts in the segment ABC
Customer ID | Contact ID |
1 | 100 |
1 | 103 |
1 | 109 |
2 | 123 |
2 | 138 |
3 | 150 |
That would be grouped into the following. I need the grouping to be affected by the selection of the segment slicer.
Customer ID | Contact Count |
1 | 3 |
2 | 2 |
3 | 1 |
When a slicer is filtered to segment ABC, which has the target contact count of 2, I want to count the customers that have above that target and put it in a card. The result should be 1.
I've tried using different table structures and calculations. I'm quite flexible with how the table structures can be set up and I'm open to trying different calculations as long as they can be affected by a slicer.
Thanks!
Solved! Go to Solution.
Should be something along the lines of:
Measure =
VAR __Target = MAX('TargetTable'[Target])
VAR __Table =
SUMMARIZE(
'Table',
[Customer ID],
"Count",COUNTROWS('Table')
)
RETURN
COUNTROWS(FILTER(__Table,[Count]>=__Target))
Should be something along the lines of:
Measure =
VAR __Target = MAX('TargetTable'[Target])
VAR __Table =
SUMMARIZE(
'Table',
[Customer ID],
"Count",COUNTROWS('Table')
)
RETURN
COUNTROWS(FILTER(__Table,[Count]>=__Target))
User | Count |
---|---|
117 | |
77 | |
58 | |
52 | |
46 |
User | Count |
---|---|
171 | |
117 | |
63 | |
57 | |
51 |