【发布时间】:2017-03-07 17:13:49
【问题描述】:
我在 SAS 中有一个宽数据集,一年中的每个月都有单独的列,结构为:“Aug__2015”到“Aug__2016”。有些月份有两个下划线,有些月份有一个。基本上,我需要使用 substr 创建一个新的 Month 变量和一个 Year 变量,并有一个看起来像附加输出的输出。通常,我只会使用 proc transpose,但我们必须使用几个代码块和 if-then 语句来代替。这是我在 2015 年 8 月尝试过的代码的截断版本。我遇到了很多错误...
data work.jobs;
set DownL.Tabled1x2016;
Industry=propcase(Industry);
if substr(Aug__2015, length(Aug__2015),4)='2015' and not missing(Aug__2015) then do;
Year=substr(Aug__2015, length(Aug__2015), 4);
Month=substr(Aug__2015, 1, 3);
end;
run;
不知何故,对于一年中的每个月,我都需要单独的 if-then 块,从而产生月份和年份的字符值。提前感谢您的指导。
【问题讨论】:
标签: sas