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!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Reproduction Steps
MedianPerMeasureX =
VAR SummaryTable =
ADDCOLUMNS(
ALL('Dimension'[Dimension]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('Dimension'[Dimension])
)
)
RETURN
MEDIANX(
FILTER(SummaryTable, NOT ISBLANK([@Value])),
[@Value]
)
Expected Behavior
The median measure should return a constant value per row (i.e., per measure), representing the median of all dimension values.
Actual Behavior
The median measure returns the same value as the original measure, not the median across dimension values.
Environment
Solved! Go to Solution.
Hi @mbelt
If dimension is a field parameter, it cannot dynamically reference in a measure. You will need to create a conditoinal measure that switches to different dimensions depending on the selected value in the slicer
MedianPerMeasureX =
VAR DimOrder = SELECTEDVALUE('Dimension'[Dimension Order])
-- Summary table for Dimension1
VAR SummaryTable1 =
ADDCOLUMNS(
ALL('ActualDimTable'[Dimension1]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('ActualDimTable'[Dimension1])
)
)
-- Summary table for Dimension2
VAR SummaryTable2 =
ADDCOLUMNS(
ALL('ActualDimTable'[Dimension2]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('ActualDimTable'[Dimension2])
)
)
-- Summary table for Dimension3
VAR SummaryTable3 =
ADDCOLUMNS(
ALL('ActualDimTable'[Dimension3]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('ActualDimTable'[Dimension3])
)
)
-- Conditional return
RETURN
SWITCH(
TRUE(),
DimOrder = 1,
MEDIANX(
FILTER(SummaryTable1, NOT ISBLANK([@Value])),
[@Value]
),
DimOrder = 2,
MEDIANX(
FILTER(SummaryTable2, NOT ISBLANK([@Value])),
[@Value]
),
DimOrder = 3,
MEDIANX(
FILTER(SummaryTable3, NOT ISBLANK([@Value])),
[@Value]
)
)
Hi @mbelt,
Thank you for reaching out to the Microsoft fabric community forum.
Has your issue been resolved? If the response provided by the community member @danextian, @OwenAuger, addressed your query, could you please confirm? It helps us ensure that the solutions provided are effective and beneficial for everyone.
Hope this helps clarify things and let me know what you find after giving these steps a try happy to help you investigate this further.
Thank you for using the Microsoft Community Forum.
Hi @mbelt,
Just checking in to see if the issue has been resolved on your end. If the earlier suggestions helped, that’s great to hear! And if you’re still facing challenges, feel free to share more details happy to assist further.
Thank you.
Hi @mbelt,
Hope you had a chance to try out the solution shared earlier. Let us know if anything needs further clarification or if there's an update from your side always here to help.
Thank you.
Hi @mbelt
If dimension is a field parameter, it cannot dynamically reference in a measure. You will need to create a conditoinal measure that switches to different dimensions depending on the selected value in the slicer
MedianPerMeasureX =
VAR DimOrder = SELECTEDVALUE('Dimension'[Dimension Order])
-- Summary table for Dimension1
VAR SummaryTable1 =
ADDCOLUMNS(
ALL('ActualDimTable'[Dimension1]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('ActualDimTable'[Dimension1])
)
)
-- Summary table for Dimension2
VAR SummaryTable2 =
ADDCOLUMNS(
ALL('ActualDimTable'[Dimension2]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('ActualDimTable'[Dimension2])
)
)
-- Summary table for Dimension3
VAR SummaryTable3 =
ADDCOLUMNS(
ALL('ActualDimTable'[Dimension3]),
"@Value",
CALCULATE(
SELECTEDMEASURE(),
REMOVEFILTERS('ActualDimTable'[Dimension3])
)
)
-- Conditional return
RETURN
SWITCH(
TRUE(),
DimOrder = 1,
MEDIANX(
FILTER(SummaryTable1, NOT ISBLANK([@Value])),
[@Value]
),
DimOrder = 2,
MEDIANX(
FILTER(SummaryTable2, NOT ISBLANK([@Value])),
[@Value]
),
DimOrder = 3,
MEDIANX(
FILTER(SummaryTable3, NOT ISBLANK([@Value])),
[@Value]
)
)
Hi @mbelt
I'm assuming the 'Dimension' table is a field parameter table set up via the Power BI Desktop interface. Is that right?
If so, one issue within your MedianPerMeasureX measure is that a field parameter column, such as 'Dimension'[Dimension], does not function as a dynamic column reference.
So the expression
ALL ( 'Dimension'[Dimension] )
does not dynamically produce a single-column table containing all values of the column selected via the field parameter, but produces a single-column table containing all values in the 'Dimension'[Dimension] column itself. So it does not have the intended effect when used in an iterator.
To help come up with a solution, could you share a simple PBIX set up as you have described, along with the expected measure values as an example?
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 49 | |
| 46 | |
| 35 | |
| 15 | |
| 14 |
| User | Count |
|---|---|
| 88 | |
| 75 | |
| 41 | |
| 26 | |
| 26 |