我在PowerPivot中有几个表:
股票表 - WKRelStrength
,其字段为:
Ticker,Date,StockvsMarket%(值是百分比),RS + - (值可以是0或1)
日历表 - 带有日期字段的校准。
表之间存在多对一关系。
我正在尝试汇总RS + - 对每行记录3个月前的日期到该行的日期 - 即3个月到目前的总和。我尝试了很多计算,但我能回复的最好是循环引用错误。这是我的公式:
=calculate(sum([RS+-]),DATESINPERIOD(Cal[Date],LASTDATE(Cal[Date]),-3,Month))
这是xlsx file。
答案 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更改为更早。