|
楼主

楼主 |
发表于 2011-5-28 18:43:32
|
只看该作者
Automagically Copying and Pasting Variable Names
From LCChien's blog on blogspot
原文載點:http://support.sas.com/resources/papers/proceedings10/046-2010.pdf<br /><br />如果使用者從第三處拿到一筆資料,想要建立coding book或目錄,或者需要寫新的程式必且在keep或drop指令輸入大量變數名稱,因而需要大量複製和貼上變數名稱的話,有什麼比較好的方法呢?Arthur S. Tabachneck 等人提供了一個方法讓使用者能夠一次複製且貼上全部的變數名稱。<br /><br /><a name='more'></a>首先,執行下面這段程式碼:<br /><pre><code>FILENAME _cb CLIPBRD;<br />DATA _NULL_;<br /> WINDOW DSN rows=8 columns=80<br /> irow=1 icolumn=2 color=black<br /> #2 @3 'Enter 1 or 2 level data set name: ' <br /> color=gray dsn $41. required=yes<br /> attr=underline color=yellow;<br /> DISPLAY DSN blank;<br /> FILE _cb;<br /> length name $32;<br /> do dsid = open(dsn,'I') while(dsid ne 0);<br /> do i = 1 to attrn(dsid,'NVARS');<br /> name = varname(dsid,i);<br /> put name @;<br /> end;<br /> dsid = close(dsid);<br /> end;<br />RUN;<br />FILENAME _cb CLEAR;</code></pre>切記裡面一個指令都不用改,執行完後 SAS 裡面會跳出一個黑色的視窗,如下所示:<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://farm6.static.flickr.com/5150/5691085923_efa14099a8_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://farm6.static.flickr.com/5150/5691085923_efa14099a8_z.jpg" /></a></div><br />裡面有一個空行,是要你輸入資料所在的 library 名稱還有資料本身名稱,如:「Orz.wahaha」,亦即表示你要複製 Orz library 裡面的 wahaha 資料內的所有變數名稱。如果沒有指定 library,則程式會自行去 Work library 裡面搜尋。輸入好後按 Enter,你會發現沒有任何動靜,但此時程式已經將你指定的資料集裡面的所有變數名稱複製好了,因此你可以用 Ctrl + v 的熱鍵把複製好的變數名稱任意地貼到任何地方或任何軟體裡面。<br /><br /><b>CONTACT INFORMATION </b><br />Your comments and questions are valued and encouraged. Contact the authors at:<br />Arthur Tabachneck, Ph.D. Randy Herbison,<br />Director, Data Management Senior Systems Analyst<br />Insurance Bureau of Canada Westat<br />2235 Sheppard Ave. East 1650 Research Boulevard<br />Toronto, ON L3T 5K9 Canada Rockville, MD 20850<br />E-mail: <!-- e --><a href="mailto:atabachneck@ibc.ca">atabachneck@ibc.ca</a><!-- e --> E-mail: <!-- e --><a href="mailto:RandyHerbison@westat.com">RandyHerbison@westat.com</a><!-- e --><br />John King Andrew Clapson<br />Ouachita Clinical Data Services, Inc. Ottawa, ON Canada<br />Mount Ida, AR E-mail: <!-- e --><a href="mailto:andy_clapson@hotmail.com">andy_clapson@hotmail.com</a><!-- e --><br /><!-- e --><a href="mailto:ouachitaclinicaldataservices@gmail.com">ouachitaclinicaldataservices@gmail.com</a><!-- e --> <br />Roger DeAngelis Tom Abernathy<br />CompuCraft Inc Pfizer, Inc.<br />1770 Via Petirrojo Apt A 235 E. 42nd Street<br />Newbury Park CA 91320 New York, NY 1001<br />E-mail: <!-- e --><a href="mailto:xlr82sas@aol.com">xlr82sas@aol.com</a><!-- e --> E-mail: <!-- e --><a href="mailto:tom.abernathy@pfizer.com">tom.abernathy@pfizer.com</a><!-- e --><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6268919072942670865-5591453922128755407?l=sugiclub.blogspot.com' alt='' /></div> |
|