楼主: 肝贝
832 5

[问答] output小问~~ [推广有奖]

  • 12关注
  • 1粉丝

幸儿

博士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
675 个
通用积分
1.0042
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
294 点
帖子
192
精华
0
在线时间
264 小时
注册时间
2013-11-9
最后登录
2019-11-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data a;
   input a b c @@;
   do x=1 to 5;
   ax=a*x;
   if ax>b then return;
   output;
   end;
   cards;
1 2 3 2 6 8
   ;
run;
菜鸟求问:为什么这里有output的时候输出的是5个观测,而没有output的时候只输出2个观测??是不是我对sas对数据的处理过程太不懂了??求大神指点,多谢!!

二维码

扫码加我 拉你入群

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

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

关键词:output outpu Out put RETURN return

I'll never let go.
沙发
wallyone 发表于 2014-2-26 21:48:27 |只看作者 |坛友微信交流群
我只知道用output时,sas会把每一次DO的值都保留;
而不用,则每一次do的值会被下一次清除;最后当run运行时,才呈现出来。

使用道具

藤椅
Bluewater1111 在职认证  发表于 2014-2-26 21:59:41 |只看作者 |坛友微信交流群
因为你有一个do end 循环。
有output:
1、PDV读入a b c=1 2 3;
2、x=1 ax=1 不满足return, 从PDV output a b c x ax=1 2 3 1 1;
3、x=1 ax=2 不满足return, 从PDV output a b c x ax=1 2 3 2 2;
4、x=3 ax=3 满足return.
5、PDV读入 a b c =2 6 8,
……
最终的输出为  
a b c x ax
1 2 3 1 1
1 2 3 1 2
2 6 8 1 2
2 6 8 2 4
2 6 8 2 6

没有output:
1、PDV读入a b c=1 2 3;
2、x=1 ax=1 不满足return,
3、x=1 ax=2 不满足return,
4、x=3 ax=3 满足return,从PDV output a b c x ax=1 2 3 3 3;
5、PDV读入 a b c =2 6 8,
……
最终的输出为  
a b c x ax
1 2 3 3 3
2 6 8 4 8


                    

使用道具

板凳
肝贝 发表于 2014-2-26 22:44:54 |只看作者 |坛友微信交流群
Bluewater1111 发表于 2014-2-26 21:59
因为你有一个do end 循环。
有output:
1、PDV读入a b c=1 2 3;
哦~我好像懂了,也就是说:这段程序中,当存在output时,输出的是不满足return的数据;而不存在output的时候,输出的是满足return的数据,并且在输出第一条满足return的数据时,已经return了,已经跳出do循环了,pdv开始读取下一个a b c的数据了,所以对应的一组a b c的值最多只能输出1条观测~~谢谢您,实在是太谢谢您了[em23]~~
I'll never let go.

使用道具

报纸
肝贝 发表于 2014-2-26 22:47:58 |只看作者 |坛友微信交流群
wallyone 发表于 2014-2-26 21:48
我只知道用output时,sas会把每一次DO的值都保留;
而不用,则每一次do的值会被下一次清除;最后当run运行 ...
谢谢您~您对do语句的讲解我记下了~~谢谢谢谢~~~~
I'll never let go.

使用道具

地板
mycpcw 发表于 2014-2-27 10:45:58 |只看作者 |坛友微信交流群
学习了

使用道具

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

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

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

GMT+8, 2024-5-2 01:42