楼主: pksb
16672 11

[程序分享] 【翻译】怎样将一个数据集拆分成多个 [推广有奖]

11
tangliang0905 发表于 2015-2-6 04:20:48 |只看作者 |坛友微信交流群
/* define which libname.member table, and by which column */
options mprint mlogic;
%let TABLE=sashelp.cars;
%let COLUMN=origin;

proc sort data=&table out=b nodupkey;
by &COLUMN;
run;

data _null_;
set b end=eof;
call symputx("&COLUMN"||left(_n_),&COLUMN);
call symputx('num'||left(_n_),_n_);
if eof then call symputx('totalnum',_n_);
run;

%macro test;
data %do i=1 %to &totalnum; d&&num&i %end;;
set &table;
%do i= 1 %to &totalnum;
%if &i > 1 %then else;
if &COLUMN = "&&&column&i." then output d&&num&i;
%end;
run;
%mend test;
%test


How about in this way?

使用道具

12
mengyuy 发表于 2016-10-4 07:02:11 |只看作者 |坛友微信交流群
soporaeternus 发表于 2015-2-5 16:51
为什么不是data d1...dn;用if output来做,就一次
1000个分类值的话原始数据全表遍历1000次也是醉了
哥们,我看你回复了N个这样的帖子了,你倒是把详细过程说一下啊

使用道具

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

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

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

GMT+8, 2024-4-20 21:41