在Power BI中,我需要编写一个度量,该度量返回昨天的销售金额。我可以在星期二至星期五使用PREVIOUSDAY()。但是,对于星期一,我想返回星期五的销售额。我知道我可以使用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
如果没有,您还有其他想法吗?
欢呼
答案 0 :(得分:0)
我还没有测试过,但这应该可以工作:
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
)
)
答案 1 :(得分:0)
此解决方案对我有用:
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(),仅返回一个日期,该日期可用于进行所需的比较。