Вычисляемый столбец: Отличительный идентификатор # должен возвращать первую дату и игнорировать другие даты - PullRequest
1 голос
/ 25 марта 2020

У меня есть требование, в котором у id # есть дубликаты записей, а также дубликаты receive_date, где мне нужно показывать только уникальную дату получения для каждого id #. Не могли бы вы помочь мне, как решить эту проблему?

Пример данных, показанный ниже:

[1]: https://i.stack.imgur.com/WOYu3.png

Я попробовал следующее в вычисляемый столбец

expected_date_or_result =
VAR selected_id = test[id#]
VAR distinct_received_date =
    CALCULATE (
        FIRSTDATE ( test[received_date] ),
        FILTER ( test, test[id#] = selected_id )
    )
RETURN
    distinct_received_date

Я не уверен, что сейчас добавлю пробелы в случае дублирования даты получения.

Пожалуйста, помогите мне с этим.

Примечание: я не могу используйте опцию удаления дубликатов, поскольку она влияет на мою группу столбцов

1 Ответ

1 голос
/ 25 марта 2020

Вероятно, есть много способов приблизиться к этому, но вот первый, который приходит мне в голову:

expected_date_or_result =
VAR TopRow =
    TOPN (
        1,
        FILTER ( test, test[id#] = EARLIER ( test[id#] ) ),
        test[received_date], ASC,
        test[group], ASC
    )
RETURN
    MAXX (
        FILTER ( TopRow, test[group] = EARLIER ( test[group] ) ),
        test[received_date]
    )

Это выбирает верхний ряд таблицы, отфильтрованный по id# и отсортированный по received_date и group, а затем фильтрует эту строку так, чтобы она была непустой, только если group является верхней, и извлекает столбец received_date, используя MAXX.

Result

...