求DAX公式:判断重复Number行的Biz Type是否存在差异
DAX计算列实现重复值+业务类型校验
核心逻辑
- 当
Number列存在重复,且该Number对应的Biz Type同时包含SP和PC两种值时,返回No - 其余情况(
Number无重复,或重复但Biz Type完全一致)返回Yes
完整DAX公式
Check Result = VAR CurrentNum = [Number] -- 统计当前Number对应的Biz Type不同值数量 VAR DistinctBizTypes = CALCULATE( DISTINCTCOUNT('Table'[Biz Type]), ALLEXCEPT('Table', 'Table'[Number]) ) -- 判断当前Number是否存在重复 VAR IsDuplicateNum = CALCULATE( COUNT('Table'[Number]), ALLEXCEPT('Table', 'Table'[Number]) ) > 1 -- 按规则返回结果 RETURN IF(IsDuplicateNum && DistinctBizTypes = 2, "No", "Yes")
公式细节说明
ALLEXCEPT('Table', 'Table'[Number]):保留当前行Number的筛选条件,移除其他所有筛选上下文,确保只统计当前Number对应的所有行数据DISTINCTCOUNT('Table'[Biz Type]):直接获取当前Number下Biz Type的不同值数量,因Biz Type仅含SP/PC两种,等于2即代表两种类型都存在COUNT('Table'[Number]) > 1:判断当前Number是否存在重复行
内容的提问来源于stack exchange,提问作者Jacek Rzadca
相关产品推荐
相关产品推荐

