全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4047 12
2010-05-18
比方有一些数据集,格式内容都一样,这个不是重点,需要考虑数据集名字
比方有四个数据集名字叫 xx342,  xx89,hg33,yxx, 怎么把前两个字母相同相同都是xx的数据集合并?因为他们前面两个字母都是xx。
这个名字是通过某些宏运算得来的,具有相同的前缀。谢谢各位大侠了

扩展问题就是:怎么合并某些具有相同特征的数据集,前几个字母啦,后几个字母什么的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-5-18 14:43:21
把命名有相同特征的数据集名读到宏变量中
之后处理就比较方便了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-18 14:56:55
醉_清风 发表于 2010-5-18 14:43
把命名有相同特征的数据集名读到宏变量中
之后处理就比较方便了
我好像也是这个意思吧 我是问具体怎么实现的 而不是应该怎么实现的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-18 15:04:54
楼上的 关键是思路 有了思路你还写不出程序?
简单举个例子 合并数据库maps中 数据集名前三位是AFG的数据集

options user=maps;
proc contents data=maps._all_  out=work.name noprint   nodetails;
run;
quit;

proc sql noprint;
        select distinct memname into:name  separated by " " from work.name where substr(memname,1,3)='AFG';
quit;
%put &name;

data work.a;
        set  &name;
run;

时间仓促 以实现为目的 等待大牛们更好的思路
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-18 15:13:39
data xx112;
do i=1 to 10;
output;
end;
run;
data xx2;
do j=10 to 20;
output;
end;
run;
data xx3;
do k=20 to 30;
output;
end;
run;
data xx4;
do n=30 to 40;
output;
end;
run;
data crackman;
merge xx:;
run;

SAS9.2可以这样做
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-18 15:14:08
306  data xx112;
307  do i=1 to 10;
308  output;
309  end;
310  run;

NOTE: 数据集 WORK.XX112 有 10 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒


311  data xx2;
312  do j=10 to 20;
313  output;
314  end;
315  run;

NOTE: 数据集 WORK.XX2 有 11 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒


316  data xx3;
317  do k=20 to 30;
318  output;
319  end;
320  run;

NOTE: 数据集 WORK.XX3 有 11 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒


321  data xx4;
322  do n=30 to 40;
323  output;
324  end;
325  run;

NOTE: 数据集 WORK.XX4 有 11 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒


326  data crackman;
327  merge xx:;
328  run;

NOTE: 有 10 个从数据集 WORK.XX112 读取的观测。
NOTE: 有 11 个从数据集 WORK.XX2 读取的观测。
NOTE: 有 11 个从数据集 WORK.XX3 读取的观测。
NOTE: 有 11 个从数据集 WORK.XX4 读取的观测。
NOTE: 数据集 WORK.CRACKMAN 有 11 个观测和 4 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群