我有一個問題,可能很簡單,但我不知道。sas宏在proc sql
我有專欄name1 c1 c2 c3 c4 .... c8
我必須按這些列的名稱進行求和並創建一個新數據。
這是我寫的代碼,但它沒有奏效。
你能幫我嗎?
PROC SQL;
CREATE TABLE WORK.data1 AS
SELECT t1.name1,
%let k=8
%macro test;
%do i=0 %to &k;
%sysfunc(SUM(C&i)) AS C&i;
%END;
%mend test;
%test;
FROM WORK.data t1
GROUP BY t1.name1,
QUIT;
也許看看本文:http://www2.sas.com/proceedings/sugi29/243-29.pdf –
好,我會研究這一點。非常感謝你 – user3375397
沒問題:)提示:%let和sysfunc在這一點使用後沒有必要使用分號。 你可以使用mprint和mfile結合得到一個包含由宏代碼生成的基本代碼的文件。對調試和學習非常有用。 –