是否可以创建将文本附加到字符变量末尾的SAS格式?我有一个带有大量文本的注释变量。理想情况下,我想在某一点切断文本,并在最后加上“......”。我知道我可以创建一个新的变量来完成这个,但我希望这是一个我可以应用的格式。有任何想法吗?
答案 0 :(得分:0)
我认为你不能把它变成一种格式。
我认为你很容易做到:
data want;
set have;
newcomment = ifc(length(comment) le 300, comment, substr(comment,1,300)||'...');
run;
我认为你真的不能比这更好。不幸的是,据我所知,你不能为字符变量写一个PICTURE
格式(这就是你要求的)。
(IFC
返回基于第一个参数的布尔值的字符值,如Excel的IF。)
答案 1 :(得分:0)
另一种基于@Joe提到的方法的方法是使用视图:
proc sql;
create view want_view as
select
a.SomeVar
,case
when length(a.comment) <=300 then a.comment
else substr(a.comment,1,300)||'...')
end as truncated_comment length = 303
from have as a;
quit;
在这种情况下使用视图的优点是