我可以相对于该列中的最大值过滤一列吗?

时间:2019-05-15 22:44:21

标签: powerbi dax

我正在尝试创建一个指标,该指标是最近7天销售数据的总和。

以下代码仅在销售数据是最新的并且没有发生冲突的日期过滤器时才可按需要工作。

CALCULATE([Sold Dollars], 
          'calendar'[Date] <= TODAY()-1) && 'calendar'[Date] >= TODAY()-7)

我尝试了以下代码:

CALCULATE([Sold Dollars], 
          'calendar'[Date] <= MAX('calendar'[Date])-1
          && 'calendar'[Date] >= MAX('calendar'[Date])-7)

但是它返回一条错误消息:

  

函数“ MAX”已在True / False表达式中用作表过滤器表达式。这是不允许的。

我该怎么做才能创建一个过滤到前7个ALLSELECTED日期的度量?

1 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。

为避免收到错误消息,可以将最大日期保存在变量中,然后在CALCULATE中将其用作过滤条件。

或者,您可以使用这种方法:

Seven Day Sales =
VAR 
  Latest_Date = MAX ( 'calendar'[Date] )
RETURN
    CALCULATE (
        [Sold Dollars],
        DATESINPERIOD ( 'calendar'[Date], Latest_Date, -7, DAY )
    )

您可以根据需要调整“ Latest_Date”变量的计算。