我试图通过帐户对DATE中过去30天的列INDICATOR中的值进行求和。
我的表达式为:Sum([INDICATOR])over(Intersect([id],LastPeriods(30,[DATE])))但结果不准确。
感谢任何帮助。
以下示例数据:
"%d %d %(arg1)s" % {'arg1': "hi"}
prints
"%d %d hi"
答案 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)创建两个输入参数:
(3)创建输出参数:
注意:我认为在数据集末尾附近的预期值存在一些错误。