PowerBI DAX最小值度量报错:无法确定列单一值问题求助
解决DAX计算特定度量最小值的报错问题
错误原因
你遇到的报错是因为度量公式里的EARLIER('National KPI Upload 13'[Measure])无法获取明确的单个值。度量基于筛选上下文计算,而EARLIER需要依赖行上下文才能返回对应层级的列值,当前写法没有构建有效的行上下文,导致DAX无法确定要对比的Measure值。
解决方案
根据需求场景,分两种情况处理:
场景1:作为计算列(每行对应一个Measure的最小值)
如果要在表中新增一列,显示每行对应Measure的所有PerformanceValue最小值,用ALLEXCEPT保留当前行的Measure筛选:
Min Performance = CALCULATE ( MIN ( 'National KPI Upload 13'[PerformanceValue] ), ALLEXCEPT ( 'National KPI Upload 13', 'National KPI Upload 13'[Measure] ) )
ALLEXCEPT会移除表中除Measure列外所有其他列的筛选上下文,只保留当前行的Measure值,从而计算该Measure对应的所有PerformanceValue的最小值。
场景2:作为度量(动态响应筛选条件)
如果要作为度量使用,确保能获取当前筛选的单个Measure值,用SELECTEDVALUE替代EARLIER:
Min Performance = VAR CurrentMeasure = SELECTEDVALUE ( 'National KPI Upload 13'[Measure] ) RETURN CALCULATE ( MIN ( 'National KPI Upload 13'[PerformanceValue] ), 'National KPI Upload 13'[Measure] = CurrentMeasure )
SELECTEDVALUE会返回当前筛选下唯一的Measure值,如果有多个Measure被选中,默认返回空白(你可以加第二个参数自定义返回值,比如SELECTEDVALUE(..., "多度量选中"))。
内容的提问来源于stack exchange,提问作者Val VonDanikan
相关产品推荐
相关产品推荐

