2

在 PowerPivot Excel 2016 中,我编写了一个滚动 12 个月销售额的公式,如下所示:

Rolling Sum:=CALCULATE (
[Sales] ,
DATESBETWEEN (
    Sales[Date],
    FIRSTDATE(DATEADD(Sales[Date],-365,DAY)),
    LASTDATE (Sales[Date] )
 )
)

但它似乎无法正常工作。每个月它只显示当月的销售额!有谁知道我应该如何解决我的问题?!

提前致谢

4

2 回答 2

0

如果您没有日期/日历表,则无法正确使用时间智能功能

尽管最佳实践是拥有日历/日期表并使用时间智能函数,但您可以通过使用显式过滤器获得所需的结果:

Rolling Sum :=
CALCULATE (
    [Sales],
    FILTER (
        ALL ( Sales ),
        [Date]
            >= MAX ( Sales[Date] ) - 365
            && [Date] <= MAX ( Sales[Date] )
    )
)

让我知道这是否有帮助。

于 2017-01-20T19:11:53.527 回答
0

使用固定的 365 天不能正确考虑闰日。在以下代码中,“[CurDatePerCalendar]”度量包含要计算平均值的日期。

Sales TTM = 
VAR base = [CurDatePerCalendar]
VAR StartDate = EDATE(base,-12) + 1
VAR EndDate = base
RETURN
CALCULATE(
    [SalesSum],
    FILTER ( _Calendar,
    _Calendar[Date] >= StartDate
    && 
    _Calendar[Date] <= EndDate )
)
于 2020-03-07T23:51:40.783 回答