Power BI DAX 标记可视矩阵中的重复值列

问题描述 投票:0回答:1

这是我的仪表板:

DATE (year-month)   ORDER           
SLICER              SLICER  

                        
                    
ID  CLIENT  ORDER   AMOUNT  TYPE    TYPE_NUM    NEW_AMOUNT (ABS)
44  ABC     10015   -135    NEG     0           135
44  ABC     10015   -53     NEG     0           53
44  ABC     10015   135     POS     1           135

我的事实表(DATA SALES)中有很多记录和列。我需要其中一些。 有些订单已付款(我的示例中的最后一行),这是一个正值 135。 有些订单没有这个问题,完全付款了。

我一直在使用标记的计算列,但它们不适用于视觉矩阵。

我需要获取一个标记 NEW_AMOUNT (ABS) 列的列,因此,它应该显示单元格上的值是否为重复值。

仅供记录。也许订单23153有同样的问题,但金额不同。

日期(年月) 订单
切片机 切片机

ID  CLIENT  ORDER   AMOUNT  TYPE    TYPE_NUM    NEW_AMOUNT (ABS)     FLAG
44  ABC     10015   -135    NEG     0           135                  duplicate
44  ABC     10015   -53     NEG     0           53                   unique
44  ABC     10015   135     POS     1           135                  duplicate
powerbi dax
1个回答
1
投票

您的计算列必须将当前行的 ORDER 和 NEW_AMOUNT (ABS) 值存储在变量中以进行比较。 我使用变量 DuplicateCheck 计算 DATA SALES 中与当前行具有相同 ORDER 和 NEW_AMOUNT (ABS) 的行数。

然后我使用 IF 语句检查 DuplicateCheck 是否大于 1 并将其标记为“重复”。如果只出现一次,我将其标记为“唯一”。

FLAG = 
VAR CurrentOrder = 'DATA SALES'[ORDER]
VAR CurrentAmount = 'DATA SALES'[NEW_AMOUNT (ABS)]
VAR DuplicateCheck = 
    CALCULATE(
        COUNTROWS('DATA SALES'), 
        FILTER(
            'DATA SALES', 
            'DATA SALES'[ORDER] = CurrentOrder && 
            'DATA SALES'[NEW_AMOUNT (ABS)] = CurrentAmount
        )
    )
RETURN
IF(DuplicateCheck > 1, "duplicate", "unique")

© www.soinside.com 2019 - 2024. All rights reserved.