Power BI中DAX实现矩阵内NEW_AMOUNT(ABS)列重复值标记
解决方案:用度量值实现矩阵内的金额重复/唯一标记
计算列失效的核心原因是它基于行上下文静态计算,而矩阵的单元格是动态响应筛选上下文(比如订单、维度分组)的聚合结果,所以必须用度量值来实现动态标记。
核心DAX度量值
Amount_Flag = VAR Current_Amount = SUM('DATA SALES'[NEW_AMOUNT (ABS)]) // 统计当前筛选维度下(比如订单号),该金额出现的行数 VAR Occurrence_Count = CALCULATE( COUNTROWS('DATA SALES'), ALLEXCEPT('DATA SALES', 'DATA SALES'[订单号]), // 保留订单号筛选,清除其他无关上下文 'DATA SALES'[NEW_AMOUNT (ABS)] = Current_Amount ) RETURN IF(Occurrence_Count > 1, "duplicate", "unique")
使用步骤
- 在Power BI中新建度量值,粘贴上述DAX代码
- 将该度量值添加到矩阵可视化的值区域,与
NEW_AMOUNT (ABS)并列显示 - 把订单号等维度放到矩阵的行/列区域,就能看到对应金额的重复/唯一标记
适配多维度场景
如果矩阵包含多个维度(比如订单号+产品类别),只需修改ALLEXCEPT的参数,把所有矩阵用到的维度列都加入:
ALLEXCEPT('DATA SALES', 'DATA SALES'[订单号], 'DATA SALES'[产品类别])
这样就能确保统计的是当前维度组合下该金额的出现次数,精准完成标记。
内容的提问来源于stack exchange,提问作者altoids
相关产品推荐
相关产品推荐

