合并sas数据集中标题中包含“shiyas”列的所有列

时间:2015-06-04 12:27:53

标签: sas

我有一个包含shiyas1shiyas2shiyas3列的sas数据集。该数据集还有其他一些列。我想将标题中的所有列与shiyas组合在一起。

我们无法使用cats(shiyas1,shiyas2,shiyas3),因为类似的数据集的列数最多为shiyas10。当我生成一般的sas代码时,我们无法使用cats(shiyas1,shiyas2 .... shiyas10)

那我们怎么做呢?

当我尝试使用cats(shiyas1,shiyas2 .... shiyas10)时,尽管我的数据集的列数最多为shiyas3,但它已将shiyas4列创建为shiyas10,其中填充了.

所以一个解决方案是将shiyas组合到数据集中或删除不必要的shiyas列...

请帮助我。

2 个答案:

答案 0 :(得分:3)

使用of语句(允许您读取一行,类似于数组)和:通配符运算符。这将连接以'shiyas'

开头的所有列

cats(of shiyas:)

答案 1 :(得分:3)

使用变量列表。

data have;
    input (shiyas1-shiyas3) (:$1.);
    cards;
 1 2 3
 ;

data want;
    set have;
    length cat_shiyas $ 100 /*large enough to hold the content*/
    ;
    cat_shiyas=cats(of shiyas:);
run;