首页 > 解决方案 > DAX 中的过滤器函数不允许对日期进行简单的数学运算

问题描述

我正在尝试通过传递周末日期的参数来计算销售(GMS)的每周值。虽然使用以下公式正确计算了本周的销售额:

Sales_CW = 
CALCULATE(SUM(Sales_Table[gms]), 
FILTER(Sales_Table,Sales_Table[weeks] = WEEKNUM(MAX(Query1[WeekendDate]))),
FILTER(Sales_Table,Sales_Table[year] = YEAR(MAX(Query1[WeekendDate])))) 

以下公式在第一个过滤器中带有 -1 错误:

Sales_LW = 
CALCULATE(SUM(Sales_Table[gms]), 
FILTER(Sales_Table,Sales_Table[weeks] = WEEKNUM(MAX(Query1[WeekendDate]))-1), 
FILTER(Sales_Table,Sales_Table[year] = YEAR(MAX(Query1[WeekendDate]))))

我使用 FILTER 函数的原因是接受度量定义中的参数值。我不明白这里有什么问题。

标签: formulapowerbidaxpowerpivot

解决方案


尝试这个:

Sales_LW = 
CALCULATE(SUM(Sales_Table[gms]), 
FILTER(Sales_Table,Sales_Table[weeks] = WEEKNUM(MAX(Query1[WeekendDate]))-1 &&
Sales_Table[year] = YEAR(MAX(Query1[WeekendDate])))

推荐阅读