如何解决如何在SAS
我正在寻找一种方法来选择“以”特定字符开头的所有列名称。我的数据多次包含相同的列名,最后有一个数字,我希望代码始终选择所有列,而不考虑最后一位数字。
例如,如果我的列名中有 3 种苹果,则数据集将包含列:“apple_1”、“apple_2”和“apple_3”。因此,我想在 proc sql 语句中选择所有以“apple_”开头的列。
谢谢
解决方法
在常规 SAS 代码中,您可以使用 :
作为通配符来创建变量列表。通常不能在 SQL 代码中使用变量列表,但可以在数据集选项中使用它们。
proc sql ;
create table want as
select *
from mydata(keep= id apple_: )
;
quit;
,
使用like
:
proc sql;
select t.*
from t
where col like 'apple%';
如果您还需要 _
字符,则需要使用 ESCAPE
子句,因为 _
是 LIKE
的通配符:
proc sql;
select t.*
from t
where col like 'apple$_%' escape '$';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。