如果使用者從第三處拿到一筆資料,想要建立coding book或目錄,或者需要寫新的程式必且在keep或drop指令輸入大量變數名稱,因而需要大量複製和貼上變數名稱的話,有什麼比較好的方法呢?Arthur S. Tabachneck 等人提供了一個方法讓使用者能夠一次複製且貼上全部的變數名稱。
首先,執行下面這段程式碼:
FILENAME _cb CLIPBRD;
DATA _NULL_;
WINDOW DSN rows=8 columns=80
irow=1 icolumn=2 color=black
#2 @3 'Enter 1 or 2 level data set name: '
color=gray dsn $41. required=yes
attr=underline color=yellow;
DISPLAY DSN blank;
FILE _cb;
length name $32;
do dsid = open(dsn,'I') while(dsid ne 0);
do i = 1 to attrn(dsid,'NVARS');
name = varname(dsid,i);
put name @;
end;
dsid = close(dsid);
end;
RUN;
FILENAME _cb CLEAR;
切記裡面一個指令都不用改,執行完後 SAS 裡面會跳出一個黑色的視窗,如下所示:裡面有一個空行,是要你輸入資料所在的 library 名稱還有資料本身名稱,如:「Orz.wahaha」,亦即表示你要複製 Orz library 裡面的 wahaha 資料內的所有變數名稱。如果沒有指定 library,則程式會自行去 Work library 裡面搜尋。輸入好後按 Enter,要進行最後"關掉DSN視窗"的動作,這時程式才會將你指定的資料集裡面的所有變數名稱複製好,然後你就可以用 Ctrl + v 的熱鍵把複製好的變數名稱任意地貼到任何地方或任何軟體裡面。
CONTACT INFORMATION
Your comments and questions are valued and encouraged. Contact the authors at:
Arthur Tabachneck, Ph.D. Randy Herbison,
Director, Data Management Senior Systems Analyst
Insurance Bureau of Canada Westat
2235 Sheppard Ave. East 1650 Research Boulevard
Toronto, ON L3T 5K9 Canada Rockville, MD 20850
E-mail: atabachneck@ibc.ca E-mail: RandyHerbison@westat.com
John King Andrew Clapson
Ouachita Clinical Data Services, Inc. Ottawa, ON Canada
Mount Ida, AR E-mail: andy_clapson@hotmail.com
ouachitaclinicaldataservices@gmail.com
Roger DeAngelis Tom Abernathy
CompuCraft Inc Pfizer, Inc.
1770 Via Petirrojo Apt A 235 E. 42nd Street
Newbury Park CA 91320 New York, NY 1001
E-mail: xlr82sas@aol.com E-mail: tom.abernathy@pfizer.com
沒有留言:
張貼留言
要問問題的人請在文章下方的intensedebate欄位留言,請勿使用blogger預設的意見表單。今後用blogger意見表單留言的人我就不回應了。