楼主: qzlvyh
2044 4

求助data步一个例子(好难) [推广有奖]

  • 0关注
  • 0粉丝

VIP

教授

本科生

70%

还不是VIP/贵宾

-

威望
0
论坛币
152 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
337 点
帖子
86
精华
0
在线时间
17 小时
注册时间
2007-11-6
最后登录
2022-5-3

楼主
qzlvyh 发表于 2007-12-6 06:11:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

data shuju;
      input type $ @;
      do block=1 to 3;
         input stemleng @;
         output;
         end;
      cards;
   clarion  32.7 32.3 31.5
   clinton  32.1 29.7 29.1
   knox     35.7 35.9 33.1
   o'neill  36.0 34.2 31.2
   compost  31.8 28.0 29.2
   wabash   38.2 37.8 31.9
   webster  32.5 31.1 29.7
   ;
  run;

这里面连续出现了2个@符号,我对@很不了解,不会用,哪位高手帮把这程序的具体过程解释一下呀?

二维码

扫码加我 拉你入群

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

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

关键词:data步 Data Webster Clinton output Data 例子

回帖推荐

Jessica8 发表于2楼  查看完整内容

一个@符是保持从一行中读数据给变量的意思,以数据第一行为例,input type $ @;第一个@符读clarion数据,input stemleng @;第二个@符读32.7,由于有do block=1 to 3;的循环,所以会从第一行中读32.7 32.3 31.5给stemleng变量,又因为每次循环都有output语句,所以读数值型数据每读一个就输出了,形成结果形如:clarion 32.7clarion 32.3clarion 31.5........注意type的变量只要没改变,他就会保持上次的值解毕

本帖被以下文库推荐

沙发
Jessica8 在职认证  发表于 2007-12-6 07:57:00

一个@符是保持从一行中读数据给变量的意思,以数据第一行为例,input type $ @;第一个@符读clarion数据,input stemleng @;第二个@符读32.7,由于有do block=1 to 3;的循环,所以会从第一行中读32.7 32.3 31.5给stemleng变量,又因为每次循环都有output语句,所以读数值型数据每读一个就输出了,形成结果形如:

clarion 32.7
clarion 32.3
clarion 31.5
........

注意type的变量只要没改变,他就会保持上次的值

解毕

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

总评分: 经验 + 3  论坛币 + 10   查看全部评分

藤椅
sushe1527 发表于 2007-12-6 09:09:00

今天起了个早,发现论坛被你们两个包场了~~

板凳
happytalent 发表于 2007-12-6 09:23:00

当只有一个@出现时,就是告诉SAS在当前行等待,继续下面的语句,直到此行结束。@就是个指针,记住它上次在当前行中的地址。下面试运行结果:

                                 Obs    type       block    stemleng

                                  1    clarion      1        32.7
                                  2    clarion      2        32.3
                                  3    clarion      3        31.5
                                  4    clinton      1        32.1
                                  5    clinton      2        29.7
                                  6    clinton      3        29.1
                                  7    knox         1        35.7
                                  8    knox         2        35.9
                                  9    knox         3        33.1
                                 10    o'neill      1        36.0
                                 11    o'neill      2        34.2
                                 12    o'neill      3        31.2
                                 13    compost      1        31.8
                                 14    compost      2        28.0
                                 15    compost      3        29.2
                                 16    wabash       1        38.2
                                 17    wabash       2        37.8
                                 18    wabash       3        31.9
                                 19    webster      1        32.5
                                 20    webster      2        31.1
                                 21    webster      3        29.7

[此贴子已经被作者于2007-12-6 9:27:27编辑过]

报纸
qzlvyh 发表于 2007-12-6 11:45:00

也就是说由于output是在do循环之内,因此在循环1-3次的过程始终没有跳出第一个@,也就是始终第一个@保持type不变喽?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 11:48