返回值小于另一个值的最大日期 - 忽略某些过滤器 - DAX

问题描述 投票:0回答:1

我有一个包含示例数据的表格,如下:

项目 日期 迄今为止的预算 截至目前
A 1 月 24 日 200 300
A 2 月-24 日 600 500
A 3 月 24 日 1000 900
B 1 月 24 日 300 200
B 2 月-24 日 500 500
B 3 月 24 日 800 1200

我想编写一个公式,可以将其放入表格或矩阵中,该公式将根据切片器找到实际大于预算的最大日期。 示例:

用户已在切片器中选择 3 月 24 日,因此该表显示多个项目的 3 月 24 日数据。 对于项目 A,我希望此公式返回 Feb-24,因为这是迄今为止预算 (600) 小于迄今为止实际 (900) 的最大日期。

我无法弄清楚如何清除适当的过滤器以获得我想要的结果。 我觉得removefilters()可以工作,但你不能将其放入过滤器公式中。

这是我的尝试:

Max_date =
VAR _actual = sum(actual to date) --gets the value of Actual to date in the current 'Mar-24' context 
RETURN
CALCULATE(max(table[date]),
filter(all(table[date]),sum(budget to date)<_actual)

这仅返回数据集的最大日期。

powerbi dax
1个回答
0
投票

您将需要捕获当前日期上下文以在过滤器中使用。

尝试类似的事情:

Max_date =
  var curDate = MAX(table[date]) // get the current date in context
  var curActual = SUM(table[Actual to Date])
  var result =
    CALCULATE(
      MAX(table[date]),
      table[Budget to Date] < curActual,
      table[date] < curDate,
      REMOVEFILTERS(table[date]) // remove date context
    )
  return result
© www.soinside.com 2019 - 2024. All rights reserved.