l*******s 发帖数: 437 | 1 我想要做每个人三个月花的钱的总和,但一直累积,譬如2010年1月-2010年3月算成3月
份累积花钱总和,2010年2月-2010年4月算成4月份总和。一共有200多个人2年来的记录
,每个人都得算每3个月的总和,如何写code最efficient?
谢谢先! | h********o 发帖数: 103 | 2 Try this
===================================
PROC SQL;
CREATE TABLE NEW AS
SELECT ID,
YEAR(DATE) AS YEAR,
MONTH(DATE) AS MONTH,
SUM(COST) AS COST
FROM OLD
GROUP BY ID, YEAR, MONTH
ORDER BY ID, YEAR, MONTH;
QUIT;
DATA NEW;
SET NEW;
BY ID YEAR MONTH;
LAG1 = LAG(COST);
IF FIRST.ID THEN LAG1 = .;
LAG2 = LAG(LAG1);
IF FIRST.ID THEN LAG2 = .;
TOTAL_COST = SUM(COST, LAG1, LAG2);
KEEP ID YEAR MONTH COST TOTAL_COST;
RUN; | l*******s 发帖数: 437 | 3 lemonades,您好:
您转给 honglajiao,现金(伪币):20,收取手续费:0.2
同时附加了如下留言给 honglajiao.
thanks!
站务 | l*******s 发帖数: 437 | |
|