Powerbi 前n天每天的销售总额的DAX公式
给定Power BI中有三列Date、Category和Sales的表FACT,我正在寻找一个DAX函数,该函数每天返回前n天的销售额总和Powerbi 前n天每天的销售总额的DAX公式,powerbi,dax,Powerbi,Dax,给定Power BI中有三列Date、Category和Sales的表FACT,我正在寻找一个DAX函数,该函数每天返回前n天的销售额总和 假设n=2,这意味着对于2020年4月1日,我的度量值应返回2020年2月1日和2020年3月1日的销售额之和。 下面是一个小例子: Date Category Sales 01/01/2020 A 1 01/01/2020 B 3 01/02/2020 B 2 01/03/2020
假设n=2,这意味着对于2020年4月1日,我的度量值应返回2020年2月1日和2020年3月1日的销售额之和。 下面是一个小例子:
Date Category Sales
01/01/2020 A 1
01/01/2020 B 3
01/02/2020 B 2
01/03/2020 B 1
01/04/2020 A 0
01/05/2020 B 10
01/06/2020 B 7
我想要的是
Date MyMeasure
01/01/2020 0
01/02/2020 4
01/03/2020 6
01/04/2020 3
01/05/2020 1
01/06/2020 10
然后,我想使用该类别作为过滤器,在我的例子中,n是365
我尝试了以下方法
MyMeasure =
VAR FROM_DATE =
DATEADD ( FACT[DATE], 0, DAY )
VAR SALES_365 =
CALCULATE (
SUM ( FACT[SALES] ),
DATESINPERIOD ( FACT[DATE], FROM_DATE, 365, DAY )
)
RETURN
SALES_365
但出现了一个错误,即在需要单个值的地方提供了一个包含多个值的表。错误出现在变量FROM_DATE中,其中DATEADDD返回一列日期,而不是单个值。 也就是说,你并不需要一个变量,你只需要使用一个简单的减法和
DATESBETWEEN(DateCol,DateFrom,DateTo)
您建议的解决方案导致错误“MAX函数只接受列引用作为参数”。因此,这不起作用。我的错,我没有注意到起始日期是什么。我将编辑答案,问题与DATEADD相同,返回一个日期列表,而不是一个值很好,谢谢。即使我希望这个公式每天都返回相同的值,因为MAX(事实[DATE])总是当前日期,不是吗?你能解释一下,为什么MAX(事实[DATE])似乎是指上下文中的每一天吗?那是因为你在表中显示了日期,因此每一行的“上下文”都会发生变化。只需将以下度量值放入表中,即可看到返回的结果
DateFrom=MAX(事实[DATE])-2
和DateTo=MAX(事实[DATE])-1
MyMeasure =
CALCULATE (
SUM ( FACT[SALES] ),
DATESBETWEEN('FACT'[DATE],MAX(FACT[DATE])-2,MAX(FACT[DATE])-1)
)