楼主: cqw1917
1646 2

关于sas数据合并的问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

57%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
199 点
帖子
5
精华
0
在线时间
7 小时
注册时间
2015-4-13
最后登录
2015-5-4

楼主
cqw1917 发表于 2015-4-15 16:05:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近在the little sas book第六章看到只有一个观测值且没有相同合并变量的数据集合并到原始的有多个观测数据集的程序如下:
data new_data_set;
if _n_=1 then set summary_data_set;
set original_data_set;

假设原始数据original_data_set为:
1  ...
2  ...
2  ...
3  ...
3  ...
合并的数据summary_data_set为:total
则结果new_data_set为:
1  ...  total
2  ...  total
2  ...  total
3  ...  total
3  ...  total
虽然已经知道运行结果,但没有想明白程序的运行原理,书上的解释说因为set语句是自动保留的,summary_data_set只在第一次循环时读入了一次,有其他变量时自动保留了,类似于retain语句,新手实在没看明白,求各位大神指点,谢谢!!!
二维码

扫码加我 拉你入群

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

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

关键词:数据合并 Original Summary Origin RETAIN little 程序

沙发
pobel 在职认证  发表于 2015-4-15 16:52:23
你可以结合书上的解释,看一下下面这个例子:
data detail(keep=x) total(keep=total);
    do x=3,4,8,19;
           total+x;
           output detail;
        end;
        output total;
run;

data pct;
    put "Loop " _n_ ":";
    put "Before Set: " _all_;
    if _n_=1 then set total;
        set detail;
        pct=x/total*100;
    put "After Set : " _all_;
        put "----------------------------------";
run;

   
已有 1 人评分经验 收起 理由
李会超 + 60 精彩帖子

总评分: 经验 + 60   查看全部评分

藤椅
cqw1917 发表于 2015-4-15 23:52:22
pobel 发表于 2015-4-15 16:52
你可以结合书上的解释,看一下下面这个例子:
data detail(keep=x) total(keep=total);
    do x=3,4,8,1 ...
多谢指点!

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

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