Power BI рассчитывает показатель за предыдущий рабочий день - PullRequest
0 голосов
/ 23 марта 2020

в Power BI Мне нужно написать меру, которая возвращает вчерашнюю сумму продаж. Я могу использовать PREVIOUSDAY () для вторника по пятницу. Однако в понедельник я хотел бы вернуть сумму продаж в пятницу. Я знаю, что могу сделать это с DATEADD (Календарь [Даты], -3, DAX).

Моя проблема в том, что я не могу заставить эти два условия работать вместе. Можно ли сделать что-то подобное с помощью меры?

1004

Если нет, у вас есть другие идеи?

Приветствия

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

Это решение работает для меня:

    Sales Amount PD = 
IF (
    WEEKDAY ( SELECTEDVALUE ( Calendar[Date] ) ) = 2;
    //Monday
    CALCULATE (
        [Sales Amount];
        DATEADD ( Calendar[Date]; -3; DAY )
    );
    IF (
        WEEKDAY ( SELECTEDVALUE ( Calendar[Date] ) ) = 1;
        //Sunday;
        BLANK ();
        IF (
            WEEKDAY ( SELECTEDVALUE ( Calendar[Date] ) ) = 7;
            //Saturday;
            BLANK ();
            CALCULATE (
                [Sales Amount];
                PREVIOUSDAY ( Calendar[Date] )
            )
        )
    )
)

Я считаю, что проблема была вызвана тем, что таблица календаря возвращала несколько значений. Используя SELECTEDVALUE (), возвращается только одна дата, которую можно использовать для сравнения.

0 голосов
/ 23 марта 2020

Я не проверял, но это должно работать:

Yesterday Sales =
VAR Mon = CALCULATE([Sales Amount], DATEADD(Calendar[Date], -3, DAY)
VAR TueToFri = CALCULATE([Sales Amount], PREVIOUSDAY(Calendar[Date])
VAR SatSun = BLANK()

RETURN
IF(
  WEEKDAY(SELECTEDVALUE(Calendar[Date]), 2) = 1;
  Mon;
  IF(
    WEEKDAY(SELECTEDVALUE(Calendar[Date]), 2) >= 6;
    SatSun;
    TueToFri
  )
)
...