作者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://www.ptt.cc/bbs/Statistics/M.1411572017.A.0AE.html
推 MOONY135: 太神啦 09/25 06:10
推 MOONY135: 請問sqlob是代表什麼意思 09/25 09:00
→ MOONY135: 請問小TABLE名稱應該修改哪邊呢? 09/25 10:48
→ MOONY135: 我知道怎樣改了 可惜成員名稱有些不符合命名規範 09/25 11:22