我有一些项目的数据,这些数据应报告一定程度的年度节省量。 从计划开始的月份到12个月后,我需要将年度和每月会计数据分开。为简单起见,每个月的节省金额仅为每年节省的费用除以12。
我需要在Tibco.Spotfire或R中执行此操作。
例如:我需要从这个开始:
对此:
答案 0 :(得分:0)
以下解决方案应该起作用。它需要data.table
和lubridate
。在Spotfire中,您可以使用工具-> TERR工具->程序包管理来安装这两个程序。在Spotfire中设置数据功能需要大量资源(https://datashoptalk.com/spotfire-data-functions-terr-basics/)
library(lubridate)
library(data.table)
dt <- data.table(Initiative = c('A', 'B') ,
start_date = c(as.Date('2017/1/1'), as.Date('2015/5/1')),
Savings = c(240, 120)
)
new_dt <- dt[, .(
Date = seq.Date(start_date, as.Date(start_date %m+% months(11)), by = 'month'),
Monthly_Savings = Savings / 12), by = Initiative]
new_dt
Initiative Date Monthly_Savings
1: A 2017-01-01 20
2: A 2017-02-01 20
3: A 2017-03-01 20
4: A 2017-04-01 20
5: A 2017-05-01 20
6: A 2017-06-01 20
7: A 2017-07-01 20
8: A 2017-08-01 20
9: A 2017-09-01 20
10: A 2017-10-01 20
11: A 2017-11-01 20
12: A 2017-12-01 20
13: B 2015-05-01 10
14: B 2015-06-01 10