楼主: 乐天天12300
1953 4

[问答] SAS DO循环的pdv问题 [推广有奖]

  • 0关注
  • 3粉丝

讲师

92%

还不是VIP/贵宾

-

威望
0
论坛币
4810 个
通用积分
359.8369
学术水平
60 点
热心指数
70 点
信用等级
42 点
经验
9952 点
帖子
242
精华
0
在线时间
985 小时
注册时间
2016-11-28
最后登录
2024-4-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问如下程序中的j取值为什么只有31?
  1. data a;
  2.       do i=1 to 100;
  3.             do j=1 to 30;
  4.                    x=155.4+5.3*rannor(0);
  5.             end;
  6.             output;
  7.        end;
  8. run;
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:do循环 PDV output outpu Data

回帖推荐

流水不朽 发表于3楼  查看完整内容

1、j的值为何是31,而不是30,因为当j=31,才会跳出循环 2、为何只输出j=31,因为sas语言是顺序执行的语言,output 之前,j的值执行到31,才跳出循环,此时 j=31, 最后才执行output。所以每次output中,i = 任何值 ,对应的只有j=31 3、如果需要输出j的任何一个值,可以把output 放到 j 循环里面。但,j不再会有j=31 4、所以,如何控制代码,依赖你想要怎样的结果 data a; do i=1 to 100; do j=1 ...
沙发
suzhzh 发表于 2018-1-19 11:32:30 |只看作者 |坛友微信交流群
data a;
      do i=1 to 100;
            do j=1 to 30;
                   x=155.4+5.3*rannor(0);
                   output; /*This is the solution to your issue and I guess this what you wanted*/
            end;
           *** output;
       end;
run;

使用道具

藤椅
流水不朽 发表于 2018-1-19 15:08:21 |只看作者 |坛友微信交流群
1、j的值为何是31,而不是30,因为当j=31,才会跳出循环
2、为何只输出j=31,因为sas语言是顺序执行的语言,output 之前,j的值执行到31,才跳出循环,此时 j=31,
    最后才执行output。所以每次output中,i = 任何值 ,对应的只有j=31
3、如果需要输出j的任何一个值,可以把output 放到 j 循环里面。但,j不再会有j=31
4、所以,如何控制代码,依赖你想要怎样的结果

data a;
      do i=1 to 100;
            do j=1 to 30;
                   x=155.4+5.3*rannor(0);
                   output;
            end;
            
       end;
run;

使用道具

板凳
384390412 发表于 2018-1-19 17:06:04 |只看作者 |坛友微信交流群
学习了。。。

使用道具

报纸
swei007 发表于 2018-1-24 16:50:12 |只看作者 |坛友微信交流群
流水不朽 发表于 2018-1-19 15:08
1、j的值为何是31,而不是30,因为当j=31,才会跳出循环
2、为何只输出j=31,因为sas语言是顺序执行的语言 ...
赞。。。。。

使用道具

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

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

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

GMT+8, 2024-4-27 06:02