首页 > 解决方案 > if 语句之间的 DAX 日期

问题描述

我是 dax 的新手,并尝试在日历表中创建一个计算列,如果 CalendarDate 在该期间,我希望在新列 1 或 0 中返回值。我尝试了以下返回正确值的方法,但我需要在“&&”之后更改它返回的日期 - 自上次销售日期起 2 个月。

"Last 2 periods"; If ([Date]<=LASTDATE(Sales[SalesDate]) 
&& [Date]> DATE(2019;10;02);1;0);

我尝试了以下,但这不起作用:

"Last 2 periods"; If ([Date]<=LASTDATE(Sales[SalesDate]) 
&& [Date]> DATEADD(LASTDATE(Sales[SalesDate]);-2;MONTH);1;0);

有什么建议么?或者关于在 DAX 中创建此列的最佳方式的建议?

标签: powerbidax

解决方案


您应该使用 max 函数而不是 last date。示例计算如下所示:

Last 2 Periods = IF(Sales[Date]<=MAX(Sales[SalesDate])&&DATEADD(Sales[Date].[Date],2,MONTH)>max(Sales[SalesDate]),1,0)

推荐阅读