尝试使用SAS中的LAG功能在迁移到SAS DI时复制一段代码,但是在SAS DI中似乎没有相同的功能。 目前使用SAS DI 4.21,以便尽快升级到4.9。
所以我的问题是,是否有另一种方法可以在SAS DI中复制以下代码:
inline-block
干杯,
答案 0 :(得分:0)
为此,我将使用User Written转换。只要您足够勤奋地执行变量映射,这样做就没有问题 - 因此保留了元数据中的数据沿袭。
可以对here进行解释。
答案 1 :(得分:0)
我不太了解DI Studio转换(我通常只使用User Written转换)。
我想知道是否存在可以欺骗生成的转换:
data work.dm_chg_bal;
set tmp_bal_chg;
output;
set tmp_bal_chg(rename=(acct_id=acct_id2 app_suf=app_suf2 start_dt=dt2));
run;
或
data work.dm_chg_bal;
if _n_ > 1 then set tmp_bal_chg(rename=(acct_id=acct_id2 app_suf=app_suf2 start_dt=dt2));
set tmp_bal_chg;
run;
如果没有,我确信有数据转换允许您制作数据集的两个副本,一个包含ID=_n_
,另一个包含ID=_n_+1
,然后按ID进行合并。也就是说,生成:
data main;
set tmp_bal_chg;
ID = _n_ ;
run;
data lag;
set tmp_bal_chg (rename=(acct_id=acct_id2 app_suf=app_suf2 start_dt=dt2));
ID = _n_ + 1;
run;
data work.dm_chg_bal;
merge main (in=a)
lag (keep=id acct_id2 app_suf2 dt2 in=b)
;
by id;
if a;
run;