Power BI 计算前一个工作日的度量值

Power BI calculate Measure for previous working day

在 Power BI 中,我需要写一个度量,returns 昨天的销售额。我可以在周二到周五使用 PREVIOUSDAY()。但是,对于星期一,我想 return 星期五的销售额。我知道我可以使用 DATEADD(Calendar[Dates], -3, DAX).

我的问题是我似乎无法同时满足这两个条件。甚至可以通过测量来做这样的事情吗?:

Yesterdays Sales = 
   Var TueToFri = CALCULATE([Sales Amount], PREVIOUSDAY(Calendar[Date])
   Var Mon = CALCULATE([Sales Amount], DATEADD(Calendar[Date], -3, DAY)

   IF WEEKDAY(Calendar[Date]) = 1
      Return Mon,
   Return TueToFri

如果没有,您还有其他想法吗?

干杯

我还没有测试过,但这应该可以工作:

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
  )
)

这个解决方案适合我:

    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] )
            )
        )
    )
)

我认为问题是由日历 table 返回多个值引起的。通过使用 SELECTEDVALUE() 仅返回一个日期,可用于进行所需的比较。