Ежедневная таблица вне даты начала и окончания - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь создать вычисляемую таблицу с ежедневной информацией о сотрудниках на основе минимальных и максимальных дат. Я на Power BI.

main and output table

1 Ответ

1 голос
/ 16 апреля 2020

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

CalculatedTable =
VAR CartesianProduct =
    CROSSJOIN (
        VALUES ( Main[employee_number] ),
        CALENDAR ( MIN ( Main[start] ), MAX ( Main[end] ) )
    )
RETURN
    FILTER (
        CartesianProduct,
        [Date] >= LOOKUPVALUE ( Main[start], Main[employee_number], [employee_number] ) &&
        [Date] <= LOOKUPVALUE ( Main[end],   Main[employee_number], [employee_number] )
    )

Функция CALENDAR генерирует таблицу со столбцом Date, начиная с первого аргумента, и включает все дни до второго аргумента.


Я не уверен, как это сделать больше эффективно в DAX, но я могу придумать более чистое решение в M (язык редактора запросов).

...