Re: [問題] SAS保留變數方法
我不知道原po的最終目的是什麼
如果只是照字面上說的 我想版大那一句就夠了
這篇只是要提出一些從以下程式看到的問題
※ 引述《bugle (低點)》之銘言:
: ※ 引述《eigenvalue (somnambulist)》之銘言:
: : %MACRO SQL(num);
: : %do i = 1 %to #
: : PROC SQL;
: : CREATE TABLE WORK.STACY AS SELECT
: : ID,
: : PAY&i AS DJC&i → 這裡的話只會保留 i = 12
: : FROM WORK.STACY1; 也就是只有DJC12 一個變數
: : QUIT; 要如何完整保留12個變數
: : %end;
: : %MEND;
: : %SQL(12);
為什麼會只有i=12?
這問題有點冏
因為你資料連續蓋了11次當然只會有i=12
就算你用data set的語法
還是會犯同樣的問題
: 擺錯了
: PROC SQL;
: CREATE TABLE WORK.STACY AS SELECT
: ID,
: %MACRO SQL(num);
: %DO i = 1 %TO #
: PAY&i AS DJC&i %IF i<12 %THEN ,;;
: %END;
: %MEND;
: %SQL(12);
: FROM WORK.STACY1;
: QUIT;
Macro只是"文字的替換"
讀進去之後才去呼叫
首先的錯誤便是 SQL語法哪認得%Macro....
其次的問題便是你呼叫的是
: %MACRO SQL(num);
: %DO i = 1 %TO &NUM;
: PAY&i AS DJC&i %IF i<12 %THEN ,;;
: %END;
: %MEND;
: %SQL(12);
這段程式想做啥?
至於west1996:do loop應該只要包住PAY&i AS DJC&i這一行就好了
這個....能不能執行上面都提到了
--------------------------------------
不要執著於Macro
是因為你要解某個問題 而這個問題適合用Macro解
而不是故意要用Macro去解某個問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.184.158
→
07/15 09:37, , 1F
07/15 09:37, 1F
→
07/15 09:38, , 2F
07/15 09:38, 2F
→
07/15 09:39, , 3F
07/15 09:39, 3F
→
07/15 09:41, , 4F
07/15 09:41, 4F
→
07/15 09:41, , 5F
07/15 09:41, 5F
→
07/15 20:34, , 6F
07/15 20:34, 6F
→
07/15 20:35, , 7F
07/15 20:35, 7F
討論串 (同標題文章)