楼主: jianke22
1365 3

SAS数据集分拆 [推广有奖]

  • 2关注
  • 2粉丝

VIP

内阁大学士兼首席军机大臣

已卖:1份资源

学科带头人

66%

还不是VIP/贵宾

-

威望
0
论坛币
4928 个
通用积分
38.2319
学术水平
0 点
热心指数
3 点
信用等级
1 点
经验
3891 点
帖子
595
精华
0
在线时间
4342 小时
注册时间
2007-8-8
最后登录
2025-12-25

楼主
jianke22 在职认证  发表于 2012-12-2 09:57:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据集有变量id(1-30)、a(1-不固定,每个id最大的a不一样)、b(经济变量)。我想将这个数据集分拆成每个id、每个a作为一个单独的文件,请问如何完成?
二维码

扫码加我 拉你入群

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

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

关键词:sas数据集 数据集 最大的 分拆

车千乘,载燕南赵北,剑客奇才

沙发
zhukovasky 发表于 2012-12-2 10:36:03
同求。但是目测,得用到宏!
za rujina!

藤椅
老师她摸我 发表于 2012-12-2 10:49:47
是每行生成一个数据集吗?
%macro getdata(dsn);
        %let dsid=%sysfunc(open(&dsn,i));  
        %let nobs=%sysfunc(attrn(&dsid,nobs));
        %let rc=%sysfunc(close(&dsid));
        %do i=1 %to &nobs;
                data getdsn&i.;
                set &dsn (firstobs=&i obs=&i);
                run;
        %end;
%mend getdata(dsn);
%getdata(dsn)
欢迎加入SAS群:144839730-蜗牛

板凳
pobel 在职认证  发表于 2012-12-2 11:29:07
data test;
  do id=1 to 10;
     do b=1 to 3;
             a=int(ranuni(0)*10);
                 output;
         end;
   end;
run;

proc sort data=test;
   by id a;
run;


data _null_;
   set test;
   by id a;
   length code $1000;
   if first.a then code= "data "||catx("_","ds",id,a)||";"
                             || "set test;"
                                                         ||cat("where id=", cats(id),  " and a=", cats(a),";")
                                                         || "run;";
        call execute(code);
run;
和谐拯救危机

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

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