[程式] sas MARCO問題

看板Statistics作者 (kkii)時間14年前 (2011/05/01 16:45), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/2 (看更多)
------------------------------------------------------------------- [軟體程式類別]: sas [程式問題]: 資料處理 [軟體熟悉度]: 低(1~3個月) [問題敘述]: 不好意思,又來麻煩各位 小弟我資料集bbb2裡面有一個為的YEAR的變數, 我想要把資料分年取出, 但不想要一年一年重打code一次, 所以研究了一下marco, 但有錯誤起各位高手幫忙解謎。 [程式範例]: 這是一般我只取2006年的時候: data cutyear; set bbb2; if year=2006 then output; run; 但我換成marco後就不能跑 %macro CUT_YEAR(STARTYEAR); DATA CUTYEAR; SET BBB2; %IF STARTYEAR=%year %THEN %OUTPUT; %MEND %MACRO CUT_YEAR(2007); 請問我在marco裡面的data是我修改我的STARTYEAR以後,每次跑出來的資料,都會在這 資料庫裡嗎? 我的OUTPUT都無法變成藍色字體。 這是我的log錯誤的地方。 WARNING: Extraneous information on %MEND statement ignored for macro definition CUT_YEAR. 改成五樓大大的方是以後,沒有出錯了但是沒東西 %macro CUT_YEAR(STARTYEAR); DATA CUTYEAR2007; SET BBB2; IF YEAR=&STARTYEAR THEN OUTPUT; %MEND % CUT_YEAR(2007); THEN OUTPUT 是黑色字這是正常嗎? 沒有檔案跑出來說QQ ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.55.132

05/01 17:25, , 1F
這樣可以嗎? if startyeat=&year the output;
05/01 17:25, 1F

05/01 17:37, , 2F
不行說,反而多了一條error
05/01 17:37, 2F

05/01 17:38, , 3F
*then
05/01 17:38, 3F

05/01 17:38, , 4F
我打錯了
05/01 17:38, 4F

05/01 17:55, , 5F
我有改成then但還是不行,THEN OUTPUT都變黑色。
05/01 17:55, 5F

05/01 18:13, , 6F
if year = &startyear then output 不用用到%IF 吧
05/01 18:13, 6F

05/01 18:14, , 7F
而且你最後引用巨集的寫法也不對 %CUT_YEAR(2007)
05/01 18:14, 7F
※ 編輯: c21221203 來自: 140.120.55.132 (05/01 19:23)

05/01 19:23, , 8F
錯誤沒了,但是沒有東西。
05/01 19:23, 8F

05/01 20:18, , 9F
data step 的 run 咧 = ="
05/01 20:18, 9F
文章代碼(AID): #1DlHsXn0 (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1DlHsXn0 (Statistics)