1 libname data 'f:\sas\data';
NOTE: 已成功分配逻辑库引用名 DATA,如下所示:
引擎: V9
物理名: f:\sas\data
2 run;
3 data ev;
4 set data.rating1;
5 format evdate yymmdd10.;
6 evdate=substr(eventday,7,4)*10000+substr(eventday,1,2)*100+substr(eventday,4,2);
7 keep country evdate type;
8 run;
NOTE: 数值已转换为字符值,位置:(行:列)。
6:19 6:46 6:71
NOTE: 字符值已转换为数值,位置:(行:列)。
6:12 6:39 6:64
NOTE: 缺失值的生成是对缺失值执行操作的结果。
指定每个位置的方式: (次数)(行:列)。
350 6:59
NOTE: 有 350 个从数据集 DATA.RATING1 读取的观测。
NOTE: 数据集 WORK.EV 有 350 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.03 秒
CPU 时间 0.03 秒
9
10 proc sort data=ev;
11 by country evdate;
12 run;
NOTE: 有 350 个从数据集 WORK.EV 读取的观测。
NOTE: 数据集 WORK.EV 有 350 个观测和 3 个变量。
NOTE: “PROCEDURE SORT”所用时间(总处理时间):
实际时间 0.01 秒
CPU 时间 0.01 秒
13
14 data ev;
15 set ev;
16 nn=_n_;
17 run;
NOTE: 有 350 个从数据集 WORK.EV 读取的观测。
NOTE: 数据集 WORK.EV 有 350 个观测和 4 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.00 秒
CPU 时间 0.00 秒
18
19 data mkt;
20 set data.yield1;
21 format dd yymmdd10.;
22 dd=substr(trddt,7,4)*10000+substr(trddt,1,2)*100+substr(trddt,4,2);
23 yield=byield;
24 keep country dd yield;
25 run;
NOTE: 数值已转换为字符值,位置:(行:列)。
22:14 22:38 22:60
NOTE: 字符值已转换为数值,位置:(行:列)。
22:7 22:31 22:53
NOTE: 缺失值的生成是对缺失值执行操作的结果。
指定每个位置的方式: (次数)(行:列)。
63543 22:48
NOTE: 有 63543 个从数据集 DATA.YIELD1 读取的观测。
NOTE: 数据集 WORK.MKT 有 63543 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.14 秒
CPU 时间 0.06 秒
26 proc sql;
27 create table t1 as select a.*,b.dd,b.country,b.yield from ev a,mkt b where a.country=b.country and
27 ! -300<=b.dd-a.evdate<=100 order by nn,dd;
WARNING: 变量“COUNTRY”已经存在于文件“WORK.T1”中。
NOTE: 表 WORK.T1 创建完成,有 0 行,6 列。
28
29 create table trdata as select a.*,b.yield from t1 a,mkt b where a.dd=b.dd order by nn,dd;
WARNING: 变量“yield”已经存在于文件“WORK.TRDATA”中。
NOTE: 表 WORK.TRDATA 创建完成,有 0 行,6 列。
30 quit;
NOTE: “PROCEDURE SQL”所用时间(总处理时间):
实际时间 0.32 秒
CPU 时间 0.31 秒
请教,为什么创建的表t1和trdata都是0行,那个warning要提示什么?如何调整?
本人是sas菜鸟,才开始模仿着学。望大家给予指导。