Используйте DATEDIFF с ALLSELECTED в качестве интервала для функции DATEADD - PullRequest
0 голосов
/ 15 января 2019

Цель: таблица с тремя столбцами:

  • дата, сессии, предыдущие_сессии.

Ситуация: у меня есть два слайсера, взаимодействующих с этой таблицей:

  • 22 октября - 28 октября 2018 года и 5 ноября - 11 ноября 2018 года.

Проблема: мой столбец previous_sessions пуст, поскольку я не могу понять формулу DAX. В основном я хочу выполнить следующее

VAR datediffs = DATEDIFF(ALLSELECTED('Date'[Date]),ALLSELECTED('Previous Date'[Date]),DAY) 
RETURN
CALCULATE(
    SUM(Table[Sessions]),
    USERELATIONSHIP('Previous Date'[Date],'Date'[Date]),
    DATEADD('Date'[Date],-datediffs,DAY)
    )

переменная datediffs должна делать 11 ноября - 28 октября и давать 14 дней, и это будет число в аргументе интервала в функции DATEADD.

1 Ответ

0 голосов
/ 15 января 2019

Функция DATEDIFF ожидает скаляр для своих первых аргументов, а не столбец или таблицу.

Вы захотите взять максимум над соответствующим выбором слайсера.

VAR datediffs =
    DATEDIFF(
        CALCULATE (
            MAX ( 'Date'[Date] ),
            ALLSELECTED ( 'Date'[Date] )
        )
        CALCULATE (
            MAX ( 'Previous Date'[Previous Date] ),
            ALLSELECTED ( 'Previous Date'[Previous Date] )
        )
    )

Я не уверен, что часть RETURN будет работать так, как вы ожидаете, но это должно дать правильный интервал для функции DATEADD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...