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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello everyone,
I have this page for variance analysis. For selected variable_id (drill-through) we are able to see every scenarios and quote prices and their variances. I have created a table to filter the table view as I called Threshold. And using this measure below:
filter_param_threshold_test =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]),[Value])
RETURN
IF( _param > [variable var %], 1, 0)
and filter the table = 1, so when I filter to 66.05% like below
it filters out the third scenario. This works well. However since I use this measure to the table view and I can't use to filter individually for card visuals. They are not changing to the number that I would like to see it.
*I have shown the expected number with arrow signs.
How should I process to achieve what I want here?
Solved! Go to Solution.
Hi @brickanalyst , you can try to create separate measure:
Selected Threshold =
MAXX(ALLSELECTED(param_threshold[Value]), param_threshold[Value])
Avg Variable % Var (Filtered) =
VAR Threshold = [Selected Threshold]
VAR FilteredTable =
FILTER(
ALL('YourTableName'),
[variance_%_A_B] <= Threshold
)
RETURN
AVERAGEX(FilteredTable, [variance_%_A_B])
# of Scenarios (Filtered) =
VAR Threshold = [Selected Threshold]
RETURN
COUNTROWS(
FILTER(
ALL('YourTableName'),
[variance_%_A_B] <= Threshold
)
)
# of Scenarios Over 10% (Filtered) =
VAR Threshold = [Selected Threshold]
RETURN
COUNTROWS(
FILTER(
ALL('YourTableName'),
[variance_%_A_B] > 0.1 && [variance_%_A_B] <= Threshold
)
)
# of Scenarios Over 50% (Filtered) =
VAR Threshold = [Selected Threshold]
RETURN
COUNTROWS(
FILTER(
ALL('YourTableName'),
[variance_%_A_B] > 0.5 && [variance_%_A_B] <= Threshold
)
)
Replace the existing measures in your card visuals with the newly created measures to ensure they dynamically respect the slicer threshold.
Thank you, but I haven't got expected results on my end. This worked for me:
Avg Variable % Var (Filtered) =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]), [Value])
VAR _avgVar =
AVERAGEX(
VALUES('Table'[Assumption_UID]),
VAR _currentVar = [% variance abs]
RETURN IF(_currentVar <= _param, _currentVar, BLANK())
)
RETURN _avgVar
# of Scenarios (Filtered) =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]),[Value])
VAR SummaryTable =
SUMMARIZE(
'Table',
'Table'[Assumption_UID],
"VarianceAbs", [% variance abs]
)
RETURN
CALCULATE(
DISTINCTCOUNT('Table'[Assumption_UID]),
FILTER(
SummaryTable,
[VarianceAbs] <= _param
)
)
# of estimates over %10 variance =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]),[Value])
VAR SummaryTable =
SUMMARIZE(
'Table',
'Table'[Assumption_UID],
"VarianceAbs", [% variance abs]
)
VAR AssumptionTable =
ADDCOLUMNS(
SummaryTable,
"WithinThreshold", IF([VarianceAbs] <= _param, [VarianceAbs], BLANK())
)
VAR CountAboveThreshold =
COUNTROWS(
FILTER(
AssumptionTable,
[WithinThreshold] > 0.10
)
)
RETURN
IF(CountAboveThreshold <> BLANK(), CountAboveThreshold, 0)
I will accept this as a solution for this ticket, your measure may work for some other cases tho.
Thank you, but I haven't got expected results on my end. This worked for me:
Avg Variable % Var (Filtered) =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]), [Value])
VAR _avgVar =
AVERAGEX(
VALUES('Table'[Assumption_UID]),
VAR _currentVar = [% variance abs]
RETURN IF(_currentVar <= _param, _currentVar, BLANK())
)
RETURN _avgVar
# of Scenarios (Filtered) =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]),[Value])
VAR SummaryTable =
SUMMARIZE(
'Table',
'Table'[Assumption_UID],
"VarianceAbs", [% variance abs]
)
RETURN
CALCULATE(
DISTINCTCOUNT('Table'[Assumption_UID]),
FILTER(
SummaryTable,
[VarianceAbs] <= _param
)
)
# of estimates over %10 variance =
VAR _param = MAXX(ALLSELECTED(param_threshold[Value]),[Value])
VAR SummaryTable =
SUMMARIZE(
'Table',
'Table'[Assumption_UID],
"VarianceAbs", [% variance abs]
)
VAR AssumptionTable =
ADDCOLUMNS(
SummaryTable,
"WithinThreshold", IF([VarianceAbs] <= _param, [VarianceAbs], BLANK())
)
VAR CountAboveThreshold =
COUNTROWS(
FILTER(
AssumptionTable,
[WithinThreshold] > 0.10
)
)
RETURN
IF(CountAboveThreshold <> BLANK(), CountAboveThreshold, 0)
I will accept this as a solution for this ticket, your measure may work for some other cases tho.
Hi @brickanalyst , you can try to create separate measure:
Selected Threshold =
MAXX(ALLSELECTED(param_threshold[Value]), param_threshold[Value])
Avg Variable % Var (Filtered) =
VAR Threshold = [Selected Threshold]
VAR FilteredTable =
FILTER(
ALL('YourTableName'),
[variance_%_A_B] <= Threshold
)
RETURN
AVERAGEX(FilteredTable, [variance_%_A_B])
# of Scenarios (Filtered) =
VAR Threshold = [Selected Threshold]
RETURN
COUNTROWS(
FILTER(
ALL('YourTableName'),
[variance_%_A_B] <= Threshold
)
)
# of Scenarios Over 10% (Filtered) =
VAR Threshold = [Selected Threshold]
RETURN
COUNTROWS(
FILTER(
ALL('YourTableName'),
[variance_%_A_B] > 0.1 && [variance_%_A_B] <= Threshold
)
)
# of Scenarios Over 50% (Filtered) =
VAR Threshold = [Selected Threshold]
RETURN
COUNTROWS(
FILTER(
ALL('YourTableName'),
[variance_%_A_B] > 0.5 && [variance_%_A_B] <= Threshold
)
)
Replace the existing measures in your card visuals with the newly created measures to ensure they dynamically respect the slicer threshold.
Add the same measure as a visual filter to the other visuals.
@lbendlin
A card visual has a measure, it's not available to use another measure to filter.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 20 | |
| 10 | |
| 9 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 31 | |
| 31 | |
| 20 | |
| 12 | |
| 12 |