Re: [問題] SAS保留變數方法

看板Statistics作者 (焦了六年變脆了)時間16年前 (2009/07/15 10:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/6 (看更多)
※ 引述《eigenvalue (somnambulist)》之銘言: : 目前遇到一些Do loop問題 : 程式碼如下 : %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); : 不曉得還要加那些指令! : 謝謝大家了! 我猜想這一段code的目的是要根據不同的情況從work.stacy1裡面挑出variable數不定的 一個subset出來當作work.stacy,所以才需要使用macro(有誤還請告知) 在原始code中,do loop作的是重複create 12次(for example) work.stacy這個table, 每一次create的時候都只有去抓相對應的那一個pay&i,所以最後看到的work.stacy當然 就是i=12時生成的那一個table,所以只會有ID,DJC12這兩個變數 do loop的目的應該只是要連續生成DJC1~DJC12,所以只要包住"生成變數"這一個動作的 statement就好了,正確的手順如下: %macro SQL(num); proc sql; create table work.stacy as select id %do i=1 %to # ,pay&i as djc&i %end; from work.stacy1; quit; %mend; %SQL(12) -- 剛剛試過,code是可以run的,如果我沒理解錯,應該也是你要的 如果有錯還請告知 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.40.59
文章代碼(AID): #1ANJaKVk (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1ANJaKVk (Statistics)