合并sas数据集中具有“列”的所有列;什叶派“;在标题中

合并sas数据集中具有“列”的所有列;什叶派“;在标题中,sas,Sas,我有一个sas数据集,其中包含列shiyas1,shiyas2,shiyas3。该数据集还有一些其他列。我想将所有带有标题的列合并为shiyas 我们不能使用cats(shiyas1、shiyas2、shiyas3),因为类似的数据集有高达shiyas10的列。由于我正在生成通用sas代码,因此不能使用cats(shiyas1、shiyas2…shiyas10) 那我们怎么做呢 当我尝试使用cats(shiyas1,shiyas2…shiyas10)时,尽管我的数据集的列最多为shiyas3,但

我有一个sas数据集,其中包含列
shiyas1
shiyas2
shiyas3
。该数据集还有一些其他列。我想将所有带有标题的列合并为
shiyas

我们不能使用
cats(shiyas1、shiyas2、shiyas3)
,因为类似的数据集有高达
shiyas10的列。由于我正在生成通用sas代码,因此不能使用
cats(shiyas1、shiyas2…shiyas10)

那我们怎么做呢

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

因此,一种解决方案是组合
shiyas
,直到数据集拥有或删除不必要的
shiyas


请帮帮我

of
语句(它允许您跨行读取,类似于数组)与
通配符运算符一起使用。这将连接以“shiyas”开头的所有列


cats(属于shiyas:)

使用
of
语句(该语句允许跨行读取,类似于数组)和
通配符运算符。这将连接以“shiyas”开头的所有列

猫(什叶派:)
使用变量列表

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;
使用变量列表

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;

它工作了一次,然后停止了工作。现在,注释显示在日志中,类似于第4238行第21列的“无效数字数据”IT/ITES/BPO。“proc import datafile='D:\Shiyas\1.csv'out=out.datafile dbms=csv replace;猜测行数=200;datarow=3/*仅第三行的数据*/DATA out.chg;set out.datafile;职业组合=猫(职业:);已创建组合的专业,但数据仅为“.”(点)。但一旦它和值一起运行,就需要将“Profession\u combined”预定义为Char,并具有足够大的长度。请看上面我的代码。它工作了一次,然后停止了工作。现在,注释显示在日志中,类似于第4238行第21列的“无效数字数据”IT/ITES/BPO。“proc import datafile='D:\Shiyas\1.csv'out=out.datafile dbms=csv replace;猜测行数=200;datarow=3/*仅第三行的数据*/DATA out.chg;set out.datafile;职业组合=猫(职业:);已创建组合的专业,但数据仅为“.”(点)。但一旦它和值一起运行,就需要将“Profession\u combined”预定义为Char,并具有足够大的长度。请看上面我的代码。它工作了一次,然后停止了工作。现在,日志中显示的注释类似于“无效的数字数据,'IT/ITES/BPO',在第4238行第21列。”@AbdulShiyas听起来你还有其他问题;代码中的任何内容都不能处理数字数据。@Joe实际上,我一开始就试过“cat_shiyas=cats(of shiyas:);”。然后我试着说“长猫咪100美元;猫咪=猫(指猫咪:);”。现在它起作用了。谢谢你,它工作了一次,然后停止了工作。现在,日志中显示的注释类似于“无效的数字数据,'IT/ITES/BPO',在第4238行第21列。”@AbdulShiyas听起来你还有其他问题;代码中的任何内容都不能处理数字数据。@Joe实际上,我一开始就试过“cat_shiyas=cats(of shiyas:);”。然后我试着说“长猫咪100美元;猫咪=猫(指猫咪:);”。现在它起作用了。非常感谢。