看板 Statistics 關於我們 聯絡資訊
------------------------------------------------------------------- [軟體程式類別]: 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
lsshno1:這樣可以嗎? if startyeat=&year the output; 05/01 17:25
c21221203:不行說,反而多了一條error 05/01 17:37
lsshno1: *then 05/01 17:38
lsshno1:我打錯了 05/01 17:38
c21221203:我有改成then但還是不行,THEN OUTPUT都變黑色。 05/01 17:55
ASD332:if year = &startyear then output 不用用到%IF 吧 05/01 18:13
ASD332:而且你最後引用巨集的寫法也不對 %CUT_YEAR(2007) 05/01 18:14
※ 編輯: c21221203 來自: 140.120.55.132 (05/01 19:23)
c21221203:錯誤沒了,但是沒有東西。 05/01 19:23
ASD332:data step 的 run 咧 = =" 05/01 20:18