楼主: suizh
5059 6

sas _n_=1 then set 问题 [推广有奖]

  • 3关注
  • 2粉丝

已卖:19份资源

博士生

53%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
6.5001
学术水平
6 点
热心指数
6 点
信用等级
5 点
经验
137 点
帖子
122
精华
0
在线时间
470 小时
注册时间
2012-10-23
最后登录
2025-6-28

楼主
suizh 发表于 2015-3-25 19:53:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求教各位,上图上的结果,为什么会是这样的?
二维码

扫码加我 拉你入群

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

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

关键词:Then Set The

}A0(E~A[223ULUP9XFSPY5D.jpg (73.3 KB)

}A0(E~A[223ULUP9XFSPY5D.jpg

已有 1 人评分热心指数 收起 理由
eijuhz + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

沙发
pobel 在职认证  发表于 2015-3-26 09:26:22
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2, PDV中,来自数据集的变量不会被置为空值;
                 IF条件不满足,不会读取记录,此时PDV中还是第一条记录的变量值;
                 执行到RUN;输出到数据集;
                 由于这个data loop中SAS没有读取数据,因此“DATA STEP stopped due to looping.”

藤椅
wpfwxn 发表于 2015-3-26 15:06:03
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
楼上,你理解的应该是对的,这个问题也困惑过我好久

板凳
wpfwxn 发表于 2015-3-26 15:11:52
楼上举得例子会得到2条一样的记录,在实际中可能不需要,刻意该做:
data test;
        if _N_ = 1 then do;
      set sashelp.class;
          output;
          stop;
        end;
run;

报纸
suizh 发表于 2015-4-1 18:29:15
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
非常感谢!

地板
simoncx 发表于 2018-4-2 09:58:00
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
你好!比如我们知道class这里面的数据集有19个观测,那么为什么当写_n_<=20的时候就可以正好显示这19个人而不会在最后有重复呢?

7
下小雨2018 发表于 2019-3-2 20:09:39
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
大神!学习了,谢谢~

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

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