Power BI DAX公式问题:需按特定条件排除canceled状态求和
修正后的DAX公式及问题说明
问题根源
你的DAX公式出错是因为逻辑运算符优先级:&&的优先级高于||,原条件实际等价于:(buyerFailedDeliveryReturnInitiator = "cancel-buyer") || (buyerFailedDeliveryReturnInitiator = "cancel-system" && NOT(status = "canceled"))
这会把buyerFailedDeliveryReturnInitiator为cancel-buyer但status为canceled的行也纳入计算,不符合需求。
正确公式
结合你要求的「状态为ready_to_ship,且buyerFailedDeliveryReturnInitiator为cancel-buyer或cancel-system」,修正后的公式如下:
Return Lazada = SUMX( FILTER( 'All Lazda', ('All Lazda'[buyerFailedDeliveryReturnInitiator] = "cancel-buyer" || 'All Lazda'[buyerFailedDeliveryReturnInitiator] = "cancel-system") && 'All Lazda'[status] = "ready_to_ship" ), 'All Lazda'[paidPrice] )
说明
- 用括号将两个
buyerFailedDeliveryReturnInitiator的条件分组,确保先判断这两个值的任一匹配 - 直接判断
status = "ready_to_ship"比NOT(status = "canceled")更精准,避免误包含其他非目标状态的行
内容的提问来源于stack exchange,提问作者Dwayne
相关产品推荐
相关产品推荐

