Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hello,
I have my main table, to which I apply several slicers to filter the data. After slicing, I would like to count the occurrence of certain events within an specified range. Something as the following table:
Lower Bound | Upper bound | Count |
-1 | -0.5 | x |
-0.5 | -0.25 | x |
-0.25 | -0.1 | x |
-0.1 | 0 | x |
0 | 0.1 | x |
0.1 | 0.25 | x |
0.25 | 0.5 | x |
0.5 | 1 | x |
Where the count is for all number of events between lower and upper bound.
For the moment I tried to create a new column with the following formula:
HitRate =
VAR Hits = CALCULATE
(
COUNT('Database'[Returns]),
FILTER(
'Database',
'Database'[Returns] < 'Hit Rate Table'[UpperBound] &&
'Database'[Returns] > 'Hit Rate Table'[LowerBound]
)
)
VAR TotalHit = COUNT('Database'[Returns])
RETURN
Hits/TotalHit
Solved! Go to Solution.
Hi @nicolasvargas ,
Use lower bound as slicer and create measure like this:
HitRate2 =
VAR min_lower_bound =
SELECTEDVALUE ( 'Hit Rate Table'[Lower Bound] )
VAR max_upper_bound =
SELECTEDVALUE ( 'Hit Rate Table'[Upper bound] )
VAR Hits =
CALCULATE (
COUNTROWS (Database),
FILTER (
Database,
Database[Returns] >= min_lower_bound
&& Database[Returns] < max_upper_bound
)
)
VAR TotalHit =
COUNTROWS ( ALL ( Database ) )
RETURN
IF (
ISFILTERED ( 'Hit Rate Table'[Lower Bound] ),
DIVIDE ( Hits, TotalHit ),
1
)
Best Regards,
Liang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@nicolasvargas , I doubt you can create a table that can change with slicer value.
@amitchandak so to resolve this, would you recommend to create 8 different measures each with it's own parameters?
Hi @nicolasvargas ,
Use lower bound as slicer and create measure like this:
HitRate2 =
VAR min_lower_bound =
SELECTEDVALUE ( 'Hit Rate Table'[Lower Bound] )
VAR max_upper_bound =
SELECTEDVALUE ( 'Hit Rate Table'[Upper bound] )
VAR Hits =
CALCULATE (
COUNTROWS (Database),
FILTER (
Database,
Database[Returns] >= min_lower_bound
&& Database[Returns] < max_upper_bound
)
)
VAR TotalHit =
COUNTROWS ( ALL ( Database ) )
RETURN
IF (
ISFILTERED ( 'Hit Rate Table'[Lower Bound] ),
DIVIDE ( Hits, TotalHit ),
1
)
Best Regards,
Liang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@V-lianl-msft @amitchandak In this case the result works but only for the lower bound. The upper bound it is completely ignored in the formula. It is calculating the cummulative frequency instead of the frequency per tranche. How can we include the upper bound within the formula?
Hi @nicolasvargas ,
Is this problem sloved?
If not, please let me know.
Best Regards,
Liang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @nicolasvargas,
Based on your description, do you want to use both upper and lower bounds as slicers?
I'm a little confused about your scenario.
If the problem persists,could you share the sample pbix via cloud service like onedrive for business?
Please mask any sensitive data before uploading.
Best Regards,
Liang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
84 | |
78 | |
52 | |
38 | |
35 |
User | Count |
---|---|
93 | |
73 | |
55 | |
52 | |
46 |