l1i2n3i4n5g 发表于 2019-5-27 09:21
SAS默认是work逻辑库,如果用其他逻辑库,要先用libname语句指定,比如libname aaa 'C:\test';,之后就可以 ...
还是不太懂,老师给的是这样的代码,怎么建立新的逻辑库
proc import datafile = 'C:\...\Momentum\treturn.xlsx'
out=momentum.treturn1 dbms=xlsx replace; sheet=sheet1; getnames=yes; run;
/* 2) Transpose the data for ease of SAS code implementation */;
proc transpose data=momentum.treturn1 out=momentum.treturn2; by Symbol; run;
/* 3) Create nyear(Calendar year), nmonth(Calendar month) */;
data momentum.treturn3(drop=_NAME_ year month);
set momentum.treturn2(drop=_LABEL_); rename COL1=tret;
year=SUBSTR(_NAME_,2,4); * Trim off some letters in a character string;
month=SUBSTR(_NAME_,6,2); * Trim off some letters in a character string;
nyear=input(year,4.); * Convert characters into a 4-digit number;
nmonth=input(month,2.); * Convert characters into a 2-digit number;
gijun_ym=nyear*100+nmonth;
run;
/* 4) Reorder variables */;
proc sql; create table momentum.treturn4 as select Symbol, gijun_ym, nyear, nmonth, tret from momentum.treturn3; quit;
/* 5) Separate into subperiods */;
data momentum.return2(drop=tret);
set momentum.treturn3;
treturn=tret/100;
if gijun_ym<200007 then delete;
*if gijun_ym<200005 then delete;
*if gijun_ym>200912 then delete;
time=(nyear-2000)*12+nmonth-6;
run;
proc sort data=momentum.return2 out=momentum.return2sort;
by symbol gijun_ym;
run;