0
當您有像表一樣的表格時;在SAS中創建帶有循環的表格
somefield1 somefield2 lastterm1 lastterm2
(10)(20)(1)( - )
(20)(40)(1)(2)
(30)(50)( - )(2)
並嘗試爲每個術語進行分組,有沒有更容易的方法來做到這一點,而不是;
PROC SQL;
CREATE TABLE WORK.LAST_TERM1 AS
SELECT T1.LASTTERM1,
(MEAN(t1.'somefield1'n)) FORMAT=COMMAX14.2 AS 'MEAN_of_somefield1'n,
(MEAN(t1.'somefield2'n)) FORMAT=COMMAX14.2 AS 'MEAN_of_somefield2'n
FROM WORK.MAIN_TABLE t1
GROUP BY t1.LASTTERM1;
RUN;
PROC SQL;
CREATE TABLE WORK.LAST_TERM2 AS
SELECT T1.LASTTERM2,
(MEAN(t1.'somefield1'n)) FORMAT=COMMAX14.2 AS 'MEAN_of_somefield1'n,
(MEAN(t1.'somefield2'n)) FORMAT=COMMAX14.2 AS 'MEAN_of_somefield2'n
FROM WORK.MAIN_TABLE t1
GROUP BY t1.LASTTERM2;
RUN;
這不是兩個字段和兩個方面的問題,但是當你有20個條款和200場這個代碼是不是有效。
我試過並沒有做到像1到20這樣的事情,並創建所有表。
有沒有辦法做到這一點?
其實我問的是如何做sas宏可以代替輸出表名和類變量。那是我失敗的地方。應該這樣做,因爲它們按順序遞增,就像「lastterm(n)」,「lastterm(n + 1)」... ... – kutayatesoglu
這個宏完全是我在找的東西。謝謝您的幫助 :) – kutayatesoglu