【发布时间】:2019-01-15 00:51:55
【问题描述】:
我有一个大型数据文件,其中包含以下格式的数据:国家、数据类型、year1month1 到 year2018month7。
使用 proc import 读取数据不适用于所有数据字段。我最终修改了 SAS 数据步代码以确保数据格式正确。
但是,我在简化代码时遇到了麻烦,即我希望一个 do 循环能够遍历所有年份和月份。这样,我可以使用当前日期来确定文件的日期范围,并且创建年/月变量的代码不必在文件中重复 100 次。
data test;
infile 'abc.csv' delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=2 ;
informat Country_Name $34. ;
do i = 1940 to 2018;
do j = 1 to 12;
informat _(i)M(j) best32.;
end;
end;
informat Base_Year $1. ;
format Country_Name $34. ;
do i = 1940 to 2018;
do j = 1 to 12;
format _(i)M(j) best12.;
end;
end;
format Base_Year $1. ;
input
Country_Name $
do i = 1940 to 2018;
do j = 1 to 12;
_(i)M(j) $;
end;
end;
Base_Year $;
run;
【问题讨论】:
标签: sas