【问题标题】:How to check for duplicates with an added condition如何检查带有附加条件的重复项
【发布时间】:2020-02-24 20:35:47
【问题描述】:

我正在使用 Power BI 中的地址表。该表还有一列标记了一些条件,它可以是任何东西,所以我将其标记为“条件”。

我正在尝试创建一个显示重复地址的列(或度量)。我遇到的问题是两个/所有重复项都需要满足其他条件。不应该从一开始就忽略的行。我认为这些嵌套的 IF 语句会起作用:

Duplicate = 
IF(
    CALCULATE(COUNTROWS(Table),
    FILTER(Table,Table[Condition]="Yes")),
    IF(
        CALCULATE(COUNTROWS(Table),
        FILTER(Table,Table[Address]=EARLIER(Table[Address])))>1,
            "Duplicate",BLANK()
    )
)

但只有一行满足条件的重复对仍会被标记。我做错了什么?

我需要其他地方的所有行,所以我无法过滤查询。另外,我知道我可以将条件添加到串联中,但这似乎很草率,我认为有一种更“正确”的方法来做到这一点。

【问题讨论】:

    标签: duplicates powerbi dax street-address


    【解决方案1】:

    我不明白你的外部 IF 函数应该如何工作,因为第一个参数是整数而不是 True/False。

    试试这个:

    Duplicate =
    IF (
        COUNTROWS (
            FILTER (
                Table,
                Table[Condition] = "Yes" &&
                Table[Address] = EARLIER ( Table[Address] )
            )
        ) > 1,
        "Duplicate",
        BLANK ()
    )
    

    编辑:正如您所指出的,这并没有完全按预期工作。请尝试以下方法之一:

    Duplicate =
    IF (
        COUNTROWS (
            FILTER (
                Table,
                EARLIER ( Table[Condition] ) = "Yes" &&
                Table[Condition] = "Yes" &&
                Table[Address] = EARLIER ( Table[Address] )
            )
        ) > 1,
        "Duplicate",
        BLANK ()
    )
    

    Duplicate =
    IF (    
        Table[Condition] = "Yes" &&
        COUNTROWS (
            FILTER (
                Table,
                Table[Condition] = "Yes" &&
                Table[Address] = EARLIER ( Table[Address] )
            )
        ) > 1,
        "Duplicate",
        BLANK ()
    )
    

    【讨论】:

    • 这确实有效,但如果至少有两行符合条件,它也会标记不符合条件的行。我有五次相同的地址,两个满足条件,三个不满足,你的代码给了我五次“重复”。这是预期的结果吗?
    • 这不是我的本意,但我明白为什么要这样做。我会尽快发布编辑。
    • 新编辑中的两列只标记满足条件的行,但不幸的是,它们首先没有将条件考虑到重复行的计数中。因此,在只有一个满足条件的两行地址匹配中,我将一行标记为重复。
    • 啊,所以你需要内外条件。我会更新的。
    猜你喜欢
    • 2016-01-16
    • 2012-10-15
    • 1970-01-01
    • 2011-03-20
    • 2021-09-23
    • 2021-12-18
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    相关资源
    最近更新 更多