[程式] SAS MACRO & macro variable

看板Statistics作者 (傻*呼呼)時間12年前 (2014/04/05 18:46), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
[軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 中(3個月到1年) [問題敘述]: 不知道應如何把MACRO variable包進MACRO裡面 [程式範例]: 欲分析的藥品使用 藥品碼已利用以下程式變成macro variable proc sql noprint; select quote(trim(DrugCode)) into:Drugs1 separated by ‘,’ from A; quit; %put &Drugs1; proc sql noprint; select quote(trim(DrugCode)) into:Drugs2 separated by ‘,’ from B; quit; %put &Drugs2; 所以要分析的藥品包含&Drug1,&Drug2..... 接下來要抓藥品使用狀況,想分成用drug1這類的一個data,drug2一個data... data AA; set oo; use=0; if DRUG_NO in (&drugs1) then use=1; RUN; data BB; set oo; use=0; if DRUG_NO in (&drugs2) then use=1; RUN; 因為藥品分類有點多,所以想寫MACRO 但是試過了都無法順利把&drugs裡面的值帶入 不知板上是否有高手能夠指導一下 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.250 ※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1396694803.A.3EB.html

04/06 08:29, , 1F
試試&&drugs&i..吧,其中i一般是連續的數字。
04/06 08:29, 1F

04/06 08:30, , 2F
i也是macro variable,我一般用%do i=1 %to 99;來做loop
04/06 08:30, 2F

04/06 11:10, , 3F
有試過...但跑出來use都=0,感覺&drugs的值沒讀進去QQ
04/06 11:10, 3F

04/06 12:06, , 4F
call symput
04/06 12:06, 4F

04/06 14:52, , 5F
後來再試&&drugs&i..有成功了! 謝謝B大~~
04/06 14:52, 5F
文章代碼(AID): #1JFzyJFh (Statistics)