Есть ли способ поиска datetime в справочной таблице datetime и возврата соответствующих данных - PullRequest
0 голосов
/ 07 января 2020

Искал ответ на этот вопрос, но без радости. Надеюсь, вам помогут гении DAX!

У меня есть таблица транзакционных данных со столбцом даты и времени (в формате "дд / мм / гггг чч: мм: сс")

I Вы хотите просмотреть эту дату и время в отдельной таблице «ссылки на смену», чтобы добавить новый столбец в мои транзакционные данные, т. е. если он попадает между 2 датами (что всегда будет), временем начала и временем окончания, будет связан соответствующий сдвиг с ним.

Формат этой таблицы Время начала - Время окончания - Шаблон сдвига

В этой таблице у нас есть дата и время (в том же формате, что и раньше) сдвиг начался - «Start_Time», когда он закончился - «End_Time» и то, что «Shift» работал. Я хочу использовать дату и время транзакции, чтобы посмотреть, какой сдвиг был в момент совершения транзакции.

Я пробовал комбинации Lookupvalue / Calculate / Max и в некоторых случаях возвращал значения, но никогда не исправлял их!

Надеюсь, это имеет смысл!

С наилучшими пожеланиями, Колин

1 Ответ

0 голосов
/ 08 января 2020

Этот код можно использовать для добавления вычисляемого столбца с поиском значения Shift на основе метки времени транзакции.

Shift = CALCULATE (
    VALUES ( Shift[SHIFT_PATTERN] ),
    FILTER (
        Shift,
        Shift[start_time] <= [Timestamp] && Shift[end_time] > [Timestamp]
    )
)

Calculated Column

Только для Показывая другую опцию, можно даже рассчитать факты транзакций, вырезанные с помощью Shift, без добавления столбца в таблицу фактов. Вы можете справиться с этим, как указано ниже.

Transaction Count =
SUMX (
    Shift, 
    COUNTROWS (
        FILTER (
            'Transaction',
            'Transaction'[Timestamp] >= Shift[start_time]
                && 'Transaction'[Timestamp] < Shift[end_time]
        )
    )
)

Result

...