DAX公式用于计算2个日期之间的总和

时间:2014-04-29 09:15:36

标签: powerpivot dax

我在PowerPivot中有几个表:

  1. 股票表 - WKRelStrength,其字段为:

      

    Ticker,Date,StockvsMarket%(值是百分比),RS + - (值可以是0或1)

  2. 日历表 - 带有日期字段的校准。

  3. 表之间存在多对一关系。

    我正在尝试汇总RS + - 对每行记录3个月前的日期到该行的日期 - 即3个月到目前的总和。我尝试了很多计算,但我能回复的最好是循环引用错误。这是我的公式:

    =calculate(sum([RS+-]),DATESINPERIOD(Cal[Date],LASTDATE(Cal[Date]),-3,Month))
    

    这是xlsx file

2 个答案:

答案 0 :(得分:0)

我无法下载该文件,但您所追求的是Rob Collie所称的世界上最伟大的公式' (GFITW)。这是未经测试但请尝试:

= CALCULATE (
SUM ( WKRelStrength[RS+-] ),
FILTER (
    ALL ( Cal ),
    Cal[Date] <= MAX ( Cal[Date] )
        && Cal[Date]
            >= MAX ( Cal[Date] ) - 90
) )

请注意,这将为您提供前约90个月,大约3个月,可能可以获得前3个日历月,但可以说是不太理想,因为您将比较略有不同的时间长度(个人选择I猜测)。

此外,这将表现得很奇怪&#39;如果你有一个总数,它将使用你选择的最后一个日期。

答案 1 :(得分:0)

首先,您使用的公式旨在用作度量。这可能不适用于计算列。其次,最好将这种聚合作为度量级别,而不是单个记录。

然后,我并不完全了解你的情况,但如果你在记录级别这样做是绝对重要的,你可能想要使用&#34;早期&#34;功能。

如果要根据对应行中的值过滤函数,只需使用早期函数包装列名。尝试将公式中的LastDate更改为更早。