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;
これは、2つのフィールドを2つの用語に問題はありませんが、あなたは20の用語と200個のフィールドを持っている場合、このコードは有効ではないです。
私は1から20のようなことを試みて失敗しました。これを行い、すべてのテーブルを作成します。
これを行う方法はありますか?
実際には、出力テーブル名とクラス変数を置き換えることができるsas-macroを実行する方法を尋ねています。それは私が失敗したところです。それは、 "lastterm(n)"、 "lastterm(n + 1)"のように順番に増加しているために行われるべきです... – kutayatesoglu
そのマクロは完全に私が探していたものです。助けてくれてありがとう :) – kutayatesoglu