使用SAS中另一个变量的部分字符串创建新变量

Create new variable using partial string of another variable in SAS

我是 SAS 新手,想保留连字符“-”之前的内容来创建新变量:

 x 
abc-something
efgh-everything
hij-something

我试过:

DATA NEW 
    set OLD;
    y = (compress(substr([x], 3, 1));
RUN;
PROC PRINT DATA = NEW; 
RUN; 

让它看起来像这样但它不起作用:

 x 
abc
efgh
hij

试试不用方括号。也不需要压缩。

使用 scan() 函数根据分隔符拆分字符串。

y=scan(x,1,'-');

如果您只想获取前三个字符,则使用 SUBSTR() 函数。

y=substr(x,1,3);