楼主: lizhewenbei
2671 14

【超级困惑】哪个高手能克服字段阻碍,将附件中的三个数据集用set语句进行纵向合并? [推广有奖]

  • 15关注
  • 5粉丝

副教授

36%

还不是VIP/贵宾

-

威望
0
论坛币
309 个
通用积分
11.4770
学术水平
4 点
热心指数
13 点
信用等级
5 点
经验
9699 点
帖子
609
精华
0
在线时间
496 小时
注册时间
2008-2-6
最后登录
2024-1-9

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
根据mingfeng大哥的提醒,我模仿程序如下,但是自己遇到一些小问题,程序见此,仍希望mingfeng大哥指点:

%macro test;
%do i=1 %to 3;
proc import out=a&i. file="C:\Users\administrator\Desktop\import_xls\CG_Director&i..xls" dbms=excel replace;
getnames=yes;
run;
%end;
%mend;
%test

data test;

length D0101b $6 D0201a $6 D0201b $100;

set a1 a2 a3;

run;



日志显示:
log显示的问题 import_xls.rar (3.77 MB)


二维码

扫码加我 拉你入群

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

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

关键词:Set 数据集 Director Desktop replace replace Desktop import excel Users

2.jpg (82.89 KB)

2.jpg

需要SET的三个数据集.rar

1.54 MB

沙发
mingfeng07 学生认证  发表于 2014-11-9 20:06:39 |只看作者 |坛友微信交流群
  1. %macro test;
  2. %do i=1 %to 3;
  3. proc import out=a&i. file="C:\Users\mingfeng07\Desktop\需要SET的三个数据集\AF_Forecast&i..csv" dbms=csv replace;
  4. getnames=yes;
  5. run;
  6. %end;
  7. %mend;
  8. %test
  9. data test;
  10. length Ananm Brokern $40.;
  11. set a1 a2 a3;
  12. run;
复制代码
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
李会超 + 24 + 1 + 1 + 1 分析的有道理
lizhewenbei + 1 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 24  论坛币 + 1  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

藤椅
lizhewenbei 学生认证  发表于 2014-11-9 20:20:58 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-11-9 20:06
感谢你,非常好的程序!但是还有一个小问题,就是无法把字段完整显示。

使用道具

板凳
lizhewenbei 学生认证  发表于 2014-11-9 20:22:37 |只看作者 |坛友微信交流群

使用道具

报纸
mingfeng07 学生认证  发表于 2014-11-9 20:43:27 |只看作者 |坛友微信交流群
lizhewenbei 发表于 2014-11-9 20:20
感谢你,非常好的程序!但是还有一个小问题,就是无法把字段完整显示。
我运行了,可以完整显示啊,你指的是哪个变量的字段呢?

使用道具

地板
lizhewenbei 学生认证  发表于 2014-11-9 20:49:19 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-11-9 20:43
我运行了,可以完整显示啊,你指的是哪个变量的字段呢?
您好!就是那个ANANM,比如第27-29行,应当有三个以上的分析师姓名,但是目前只能显示两个人,第二个逗号后就看不到了。还望指点!

使用道具

7
mingfeng07 学生认证  发表于 2014-11-9 22:22:02 |只看作者 |坛友微信交流群
lizhewenbei 发表于 2014-11-9 20:49
您好!就是那个ANANM,比如第27-29行,应当有三个以上的分析师姓名,但是目前只能显示两个人,第二个逗号 ...
  1. %macro test;
  2. %do i=1 %to 3;
  3. data a&i.;
  4. infile "C:\Users\mingfeng07\Desktop\需要SET的三个数据集\AF_Forecast&i..csv" delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=4;
  5. informat Stkcd 8. Rptdt yymmdd10. Fenddt yymmdd10. Ananm $20. Brokern $24. Feps 8. Fpe 6. ;
  6. format Stkcd 8. Rptdt yymmdd10. Fenddt yymmdd10. Ananm $20. Brokern $24. Feps 8. Fpe 6. ;
  7. input Stkcd  Rptdt Fenddt  Ananm $ Brokern $ Feps  Fpe ;
  8. run;
  9. %end;
  10. %mend;
  11. %test


  12. data test;
  13. set a1 a2 a3;
  14. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
lizhewenbei + 1 + 1 + 1 + 1 忍不住给你两次加分!

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

8
lizhewenbei 学生认证  发表于 2014-11-10 07:39:18 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-11-9 22:22
特别厉害!mingfeng是高手。非常感谢mingfeng的帮助!
%macro test;
%do i=0 %to 9;
data a&i.;
infile "E:\DATA\分析师数据\AF_Forecast&i..csv" delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=4;
informat Stkcd 8.  Rptdt yymmdd10. Fenddt yymmdd10. Ananm $20. Brokern $20. Feps 8.  Fpe 6. ;
format Stkcd 8.  Rptdt yymmdd10. Fenddt yymmdd10. Ananm 20.  Brokern 20.  Feps 8.  Fpe 6. ;/*这个里面的空格,您有些挨在一块了,导致运行会出一点很小的问题*/
input Stkcd  Rptdt Fenddt  Ananm Brokern Feps  Fpe ;
run;
%end;
%mend;
%test

data forecast.forecast0;
set a1-a9;
fyear=year(fenddt);byear=year(rptdt);run;

使用道具

9
lookslike 发表于 2014-11-10 13:50:31 |只看作者 |坛友微信交流群
学习了

使用道具

10
lizhewenbei 学生认证  发表于 2014-11-14 17:25:12 |只看作者 |坛友微信交流群
lizhewenbei 发表于 2014-11-10 07:39
特别厉害!mingfeng是高手。非常感谢mingfeng的帮助!
%macro test;
%do i=0 %to 9;
mingfeng大哥,我发现如果要是改用excel导入,则无法运行了。请您再指点。我把这个帖子的附件改变一下,您试试?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 22:28