楼主: mingfeng07
1069 2

关于数据集拆分问题 [推广有奖]

已卖:306份资源

副教授

65%

还不是VIP/贵宾

-

威望
0
论坛币
1147 个
通用积分
2.0601
学术水平
113 点
热心指数
105 点
信用等级
83 点
经验
30381 点
帖子
643
精华
0
在线时间
1147 小时
注册时间
2012-11-20
最后登录
2023-5-23

初级热心勋章

楼主
mingfeng07 学生认证  发表于 2013-10-16 17:40:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
题目是利用宏函数%substr生成F,F_SEM这两个数据集。他们都是已知数据集F_SEM_TH的子集,取出的条件为:
数据集F:Dept=“Fiance” 且 School=“SEM”;
数据集F_SEM:School=“SEM”。
下面是我编的宏程序:
%macro set;
data %substr(&a,1,1) %substr(&a,1,1)_%substr(&b,1,3);
set resdat.F_SEM_TH;
if dept=&a and school=&b then output %substr(&a,1,1);
if school=&b then output %substr(&a,1,1)_%substr(&b,1,3);
run;
%mend set;
%let a=Fiance;
%let b=SEM;
%set;
run;
结果得到的数据集完全不对,请问我这个编程哪里出问题了呢
二维码

扫码加我 拉你入群

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

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

关键词:数据集 SUBSTR school Fiance output school 程序

欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

沙发
yongyitian 发表于 2013-10-16 22:04:43
  1. /* need a pair of " ", don't need run statement  */
  2. %macro set;
  3.   data %substr(&a,1,1) %substr(&a,1,1)_%substr(&b,1,3);
  4.       set F_SEM_TH;
  5.    if dept="&a" and school="&b" then output %substr(&a,1,1);
  6.    if school="&b" then output %substr(&a,1,1)_%substr(&b,1,3);
  7.   run;
  8. %mend set;
  9. %let a=Fiance;
  10. %let b=SEM;
  11. %set;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
mingfeng07 + 1 + 1 + 1 好的意见建议

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

藤椅
mingfeng07 学生认证  发表于 2013-10-16 23:17:56
yongyitian 发表于 2013-10-16 22:04
刚刚验证了,结果是正确的,太感谢了
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 04:12