是否可以创建将文本附加到字符变量末尾的 SAS 格式?我有一个包含大量文本的注释变量。理想情况下,我想在某个点截断文本并在末尾添加“...”。我知道我可以创建一个新变量来完成此操作,但我希望这是我可以应用的格式。有任何想法吗?
问问题
634 次
2 回答
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;
在这种情况下使用视图的好处是
- 您将获得类似格式的功能
- 您不需要创建新列
- 如果您需要调查已被截断为 300 字节的列 - 您仍然可以访问物理表中未截断的注释。
- 该视图不会占用您的磁盘空间。
于 2013-09-15T12:03:07.280 回答
0
我认为您无法将其构建为一种格式。
我认为您可以轻松做到:
data want;
set have;
newcomment = ifc(length(comment) le 300, comment, substr(comment,1,300)||'...');
run;
我不认为你真的能得到比这更好的了。不幸的是,据我所知,您无法PICTURE
为字符变量编写格式(这就是您所要求的)。
(IFC
根据第一个参数的布尔值返回一个字符值,如 Excel 的 IF。)
于 2013-09-13T20:24:58.313 回答