[程式] SAS巨集問題

看板Statistics作者 (再回頭已是百殘身)時間11年前 (2013/06/20 09:34), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/3 (看更多)
[軟體程式類別]:SAS [程式問題]:資料處理 [軟體熟悉度]:中 [問題敘述]:昨天考的一題,寫出一個巨集程式,把輸入的錢數換成錢的張數 EX:輸入487 跑出"領出487元,換得100元4張,50元1張,10元3張,5元1張,1元2張 [程式範例]: %MACRO test(money); DATA final; N=&money; RUN; DATA final2; SET final; a=INT(N/100); b=INT((N-100*a)/50); c=INT((N-100*a-50*b)/10); d=INT((N-100*a-50*b-10*c)/5); e=N-100*a-50*b-10*c-5*d; LABEL N='領出錢數' a='100元張數' b='50元張數' c='10元張數' d='5元張數' e='1元 張數'; RUN; PROC PRINT DATA=final2 LABEL; TITLE"領出 &&money 元,換得100元 &a 張,50元 &b 張,10元 &c 張,5元 &d 張,1元 &e 張"; RUN; %MEND; %test(487) 執行結果: 領出 487 元,換得100元 &a 張,50元 &b 張,10元 &c 張,5元 &d 張,1元 &e 張 Obs 領出錢數 100元張數 50元張數 10元張數 5元張數 1元張數 1 487 4 1 3 1 2 我現在問題是a,b,c,d,e不是巨集變數,所以標題的張數不會隨著輸入的N值變動 可是a,b,c,d,e是由N所產生的,不知道怎麼把他弄到巨集裡 因為剛學巨集,有些指令還不太熟,希望有人能指點一下,3Q -- ╱ψjhyfish \ ╲ [jhyfish@ptt]▃▂▁ \▂▃ 絕望先生 ﹎﹎﹎ / ˙. \ 小森霧─ 家裡蹲少女 | ▂▄ |﹊﹊﹊ \◥ \′〞 〝‵/ ◤/ ▆▅▄▃▂▁▂▃▄▆▇█ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.225.21

06/20 11:58, , 1F
%LET a=%eval(&money/100);
06/20 11:58, 1F

06/20 11:59, , 2F
%PUT 領出 &money 元,換得100元 &a 張;
06/20 11:59, 2F

06/20 12:00, , 3F
結果出現在 LOG
06/20 12:00, 3F
還是跑不出來..如果要在TITLE顯示而不是LOG視窗的話該怎麼寫? ※ 編輯: a88241050 來自: 163.13.225.161 (06/20 17:27)

06/21 23:44, , 4F
call symputx
06/21 23:44, 4F
文章代碼(AID): #1HmbmyCX (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1HmbmyCX (Statistics)