Как проверить наличие дубликатов с добавленным условием - PullRequest
0 голосов
/ 24 февраля 2020

Я работаю с таблицей адресов в 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()
    )
)

Но дублирующие пары, где только одна строка удовлетворяет условию, все еще отмечены. Что я делаю не так?

Мне нужны все строки в другом месте, чтобы я не мог отфильтровать запрос. Кроме того, я знаю, что могу добавить условие в конкатенацию, но это кажется неаккуратным, и я предполагаю, что есть более «правильный» способ сделать это.

1 Ответ

0 голосов
/ 24 февраля 2020

Я не понимаю, как должна работать ваша внешняя 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 ()
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...