SAS 根据原始数据小数位生成统计量小数位数

libname aa "D:\ShareCache\数据管理部\数据管理与统计部\Projects\PTH\G56W1A201\DM\SDTM\18032-XLT-G56W1_Dry_run_Delivery_ALL_20190823\18032-XLT-G56W1_Dry_run_Delivery_sdtmdata_20190823";

data lb;
set aa.lb;
orres=input(lborres,??best.);
if orres^=.;
len1=length(  compress( put(orres,best.)) );
len2=length( scan( put(orres,best.),2,"."));
keep usubjid lbtestcd lbcat orres lborresu len1 len2;
run;

proc sql;
create table lb1 as select
a.lbcat,a.lbtestcd,orres,
max(len1) as mlen1,
max(len2) as mlen2,
strip(put(8.0+0.1*(calculated mlen2+1),best.)) as dec,
putn(orres,calculated dec) as storres
from lb a
group by lbcat,lbtestcd;
quit;


posted @ 2019-12-26 17:40  虾米WD  阅读(917)  评论(0)    收藏  举报