作者west1996 ()
看板Statistics
标题Re: [程式] SAS marco存人名可行吗?
时间Wed Sep 24 23:20:13 2014
※ 引述《MOONY135 (谈无慾)》之铭言:
: [软体程式类别]:
: 请填入软体程式类别,例如:SAS、SPSS、R、EVIEWS...等
: SAS
: [程式问题]:
: 资料处理、回归、叙述统计、logistic、probit...等
: 资料处理
: [软体熟悉度]:
: 请把以下不需要的部份删除
: 中(3个月到1年)
: [问题叙述]:
: 请详尽叙述遭遇到的问题,可能的话,分点叙述你要处理的流程
: 假设我有一个栏位A是人名,请问有办法将各个人名用MARCO存成全域变数吗?
: 因为最後想自动使用各别人名将大TABLE切成不同的小TABLE
: 人名
: AAA
: BBB
: CCC
: ==============以下这部分想弄成marco 可以自动切小table=============
: PROC SQL;
: CREATE TABLE aaa
: SELECT *
: form 大table
: where 人名=aaa
: ;
: quit;
: ================================================================
proc sql noprint;
select distinct 人名
into :name1-
from 大table;
quit;
%macro split;
%do i=1 to &sqlobs;
proc sql;
create table subset&i as
select *
from 大table
where 人名="&&name&i";
quit;
%symdel name&i;
%end;
%mend split;
%split
执行完上面程式後,就会自动把大table根据人名那个栏位分切成subset1,subset2,...
等小table,若是人名里面的值全都符合table名称命名规范的话,也是可以修改程式
变成各个小table的名称就是人名~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.231.74
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Statistics/M.1411572017.A.0AE.html
1F:推 MOONY135: 太神啦 09/25 06:10
2F:推 MOONY135: 请问sqlob是代表什麽意思 09/25 09:00
3F:→ MOONY135: 请问小TABLE名称应该修改哪边呢? 09/25 10:48
4F:→ MOONY135: 我知道怎样改了 可惜成员名称有些不符合命名规范 09/25 11:22