我有一个包含示例数据的表格,如下:
项目 | 日期 | 迄今为止的预算 | 截至目前 |
---|---|---|---|
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)
这仅返回数据集的最大日期。
您将需要捕获当前日期上下文以在过滤器中使用。
尝试类似的事情:
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