Spotfire - Sum()结束

时间:2016-05-25 21:48:39

标签: sum calculated-columns spotfire

我试图通过帐户对DATE中过去30天的列INDICATOR中的值进行求和。

我的表达式为:Sum([INDICATOR])over(Intersect([id],LastPeriods(30,[DATE])))但结果不准确。

感谢任何帮助。

以下示例数据:

"%d %d %(arg1)s" % {'arg1': "hi"}
prints
"%d %d hi"

1 个答案:

答案 0 :(得分:0)

我无法在Spotfire中确定合适的解决方案。但是,我能够编写一些R代码,允许将Date和Indicator列传递给它,对过去30天的指标求和,然后将其作为列返回。

以下是代码:

record.date <-as.Date(date.column, "%m/%d/%Y")
indicator.vector <- indicator.column

num.entry <- length(record.date)
running.thirty <- vector(length=num.entry)
count <- 0

for(i in 1:num.entry){
  date.test <- record.date[i]
  for(j in 1:num.entry){
    if(record.date[j] >= date.test-30 ){
      if(record.date[j] <= date.test){
        count <- count + indicator.vector[j]
      }
    }
  }
  running.thirty[i] <- count
  count <- 0  
}

output<-running.thirty

使用工具&gt;&gt;注册数据功能

(1)插入脚本

(2)创建两个输入参数:

input parameters

(3)创建输出参数:

output parameter

注意:我认为在数据集末尾附近的预期值存在一些错误。