楼主: zkp216
1758 5

关于两个data步的用法 [推广有奖]

  • 4关注
  • 2粉丝

已卖:30份资源

硕士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
246 个
通用积分
0
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
1857 点
帖子
103
精华
0
在线时间
159 小时
注册时间
2012-6-18
最后登录
2021-12-10

楼主
zkp216 发表于 2012-8-9 18:07:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
   
  1. /*************程序1********************/

  2. %macro Qua(dat,database);
  3. data Optim.Q;
  4. set &dat;
  5. y1=y;t1=x1;t2=x1*x1;
  6. proc reg data=Optim.Q outest=&database;
  7. Model y1=t1-t2;
  8. %mend Qua;

  9. data _null_;
  10. %Qua(Optim.Reg,Optim.database);
  11. Quit;
复制代码



  1. /**************程序2*****************/
  2. data _null_;
  3. a=3;
  4. data _null_;
  5. b=4+a;
  6. put a= b=;
  7. run;
复制代码
程序1和程序2同样都有两个data步,为什么第一个可以,第二个就不行呢,第一个这样用是不是合法呢?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:data步 Data database outest Optim database null 程序

沙发
初夏44 发表于 2012-8-9 18:21:01
对这个不是很了解,帮你顶顶!!

藤椅
风儿向南吹 发表于 2012-8-9 18:44:20
不太了解   帮你顶下

板凳
wanwanle2 在职认证  发表于 2012-8-9 19:43:21
程序2,由于
data _null_;
a=3;
没有Run;这样的变量a只在PDA中编译,并没有生成。
当然以下程序
data _null_;
b=4+a;
put a= b=;
run;
中的a没有找到赋值

报纸
lynette_89 发表于 2012-8-9 19:55:02
加不加run都是不行的

地板
zkp216 发表于 2012-8-9 20:25:02
哦,晕了,我知道了
  1. data Optim.a;                                                                                                                           
  2. b=1;                                                                                                                                    
  3. run;                                                                                                                                    
  4. data data1;                                                                                                                             
  5. set Optim.a;                                                                                                                           
  6. c=b+3;                                                                                                                                 
  7. put c=;                                                                                                                                 
  8. run;   
复制代码
这个就可以了,其实加不加run在读到下一个data步时,上一个程序都已经完成了,而之前的数据没有保存或者说是没有生成,所以在下一个程序段时找不到相应的数据,谢谢各位!

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

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