0

我在 PowerPivot 中有几个表:

  1. 一个 Stock 表 -WKRelStrength其字段为:

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

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

表之间存在多对一关系。

我正在尝试针对每行汇总 3 个月前到该行日期之间的日期的 RS+ - 即 3 个月至今的总和。我尝试了很多计算,但我能返回的最好结果是循环引用错误。这是我的公式:

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

这是xlsx 文件

4

2 回答 2

0

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

再说一次,我不完全了解您的情况,但如果在记录级别执行此操作对您来说绝对重要,您可能需要使用“早期”功能。

如果要根据对应行中的值过滤函数,只需将列名称与较早的函数包装起来。尝试在公式中将 LastDate 更改为较早。

于 2014-11-14T15:00:36.570 回答
0

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

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

请注意,这将为您提供大约 3 个月的前 90 天,准确获取前 3 个日历月可能是可能的,但可以说是不太理想,因为您将比较稍微不同的时间长度(我猜是个人选择)。

此外,如果您有一个总数,这将表现得“奇怪”,因为它将使用您选择中的最后一个日期。

于 2014-05-05T18:10:46.240 回答