Возникновение подсчета DAX на основе нескольких критериев

это может быть просто, но мне нужна ваша помощь!

Мне нужно добавить столбец к моим необработанным данным, который содержит общее количество уникальных подсобытий для каждого уникального идентификатора, когда тип подсобытия = тип A, и результат должен отображаться в первом типе A, найденном в списке, и показывать нули на остальных строках для такого ID.

Надеюсь, пример макетной таблицы может проиллюстрировать, как структурированы мои необработанные данные и что мне нужно в результате (СТОЛБЦ J).

Пример таблицы


person Marcelo Aguilar    schedule 05.04.2017    source источник


Ответы (1)


Следующий вычисляемый столбец должен помочь:

Type A Events by ID = 
VAR FirstRow = 
CALCULATE(
    MIN('Log'[Index]),
    FILTER('Log', 'Log'[ID] = EARLIER('Log'[ID]) && 'Log'[Sub Event Type] = "Type A")
)
RETURN
IF(
    'Log'[Index] = FirstRow,
    CALCULATE(
        DISTINCTCOUNT('Log'[Sub Event]),
        FILTER('Log', 'Log'[ID] = EARLIER('Log'[ID]) && 'Log'[Sub Event Type] = "Type A")
    ),
    0
)

Не уверен, как вы определяете первую найденную строку типа A, поэтому я добавил столбец индекса и получил квалифицированную строку с минимальным индексом. (Это то, что делает FirstRow)

Затем он вернет количество различных Sub Event с тем же ID, а Sub Event Type имеет тип A, если это первая строка, иначе вернет 0.

Не стесняйтесь уточнять или изменять его в соответствии с вашим случаем.

Результат:

результат

person Foxan Ng    schedule 05.04.2017
comment
Привет @Marcelo Aguilar Это решает вашу проблему в конце концов? - person Foxan Ng; 15.04.2017
comment
Привет, предлагаемое решение работает с небольшими наборами данных, которые я использовал для тестирования, к сожалению, при масштабировании это слишком медленно ... пока я использую его на некоторых разделах своих данных, чтобы выполнить работу. Спасибо! - person Marcelo Aguilar; 20.04.2017