【发布时间】:2016-06-17 08:56:36
【问题描述】:
我的问题如下 - 我正在从另一列 (disk_pc_nonann) 创建一列 (diskont_faktor),其创建公式根据行号而有所不同。
对于第 1 行,函数是 diskont_faktor = 1/disc_pc_nonann;
对于第 2 行到第 n 行,函数是 diskont_faktor = diskont_faktor(t-1)/disc_pc_nonann;
我尝试了以下代码:
data soubor2;
set srv.data;
disc_pc_nonann = (1+DISC_PC/100)**(1/12);
if _n_ = 1 then diskont_faktor = 1/disc_pc_nonann;
else diskont_faktor = lag1(diskont_faktor)/disc_pc_nonann;
run;
但 SAS 不计算行数 > 1 的值。 是否有某些特定原因导致功能滞后在此代码设置中不起作用?
我什至尝试了这个版本但没有成功:
data soubor2;
set srv.data;
disc_pc_nonann = (1+DISC_PC/100)**(1/12);
if _n_ = 1 then diskont_faktor = 1/disc_pc_nonann;
else do; y=lag1(diskont_faktor);
diskont_faktor = y/disc_pc_nonann;
end;
run;
感谢您对我做错的任何建议。
【问题讨论】:
标签: function sas calculated-columns