[程式] SAS中 MACRO 變數問題
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
中(3個月到1年)
[問題敘述]:
資料drug中的藥品欄位(drugname)包含很多藥品,以A,B,C.D...Z為例。
我想要把每一個藥品資料都輸出獨立的檔案
例如
data A; set drug; if drugname = "A"; run;
data B; set drug; if drugname = "B"; run;
...
轉換成MACRO,則如下
%MACRO out(type); /*每個藥進行分析*/
data &type;
set drug;
if drugname = "&type" ;
run;
%MEND;
%out(A);
%out(B);
但由於加入了雙引號,所以"&type" 無法轉換成 "A"。
因此就無法輸出,請問各位該如何解決這個問題呢?
我使用另外一種方式,先在原始資料庫,將每一個藥品A,B,C給予對應的數值1,2,3
當使用等於數值,則無需加雙引號,可以成功。
但想請教如何在MACRO中 使用 等於MACRO文字變數的方式。
有人建議使用symput ,但不太清楚正確使用。
%MACRO out(type,no); /*每個藥進行分析*/
data &type;
set drug;
if drugname = &no ;
run;
%MEND;
%out(A,1);
%out(B,2);
-----------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.5
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1439886246.A.B9C.html
※ 編輯: shga (203.71.94.5), 08/18/2015 16:28:20
推
08/18 19:44, , 1F
08/18 19:44, 1F
→
08/18 19:44, , 2F
08/18 19:44, 2F
→
08/18 19:53, , 3F
08/18 19:53, 3F
→
08/18 19:54, , 4F
08/18 19:54, 4F
→
08/18 20:13, , 5F
08/18 20:13, 5F
推
08/18 20:15, , 6F
08/18 20:15, 6F
→
08/18 20:32, , 7F
08/18 20:32, 7F
推
08/18 21:18, , 8F
08/18 21:18, 8F
→
08/24 08:05, , 9F
08/24 08:05, 9F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):