SAS導(dǎo)出數(shù)據(jù)集到excel(第二章)

以前關(guān)于SAS導(dǎo)出到EXCEL寫過一篇,今天繼續(xù)寫第二篇,也是今天遇到的幾個問題。

SAS導(dǎo)出數(shù)據(jù)集到excel(第一章)

在DM進(jìn)行改庫的時候,往往需要進(jìn)行數(shù)據(jù)集的比較(我問過了,改庫確實是因為試驗方案有調(diào)整,然后需要重新設(shè)計CRF等),這些數(shù)據(jù)集,也是我們以后寫SDTM需要用到的數(shù)據(jù)集。

但是一個項目往往有幾十個數(shù)據(jù)集,如果你寫一個宏程序處理好了比較過程,然后你還得將這個宏復(fù)制幾十次,像下面這樣,對每一個數(shù)據(jù)集進(jìn)行操作,效率低了點。

因此,合理利用庫和循環(huán),能極大地提高你的效率,下面來看下具體怎么做:

就是這兩步,將SASHELP里面有多少數(shù)據(jù)集一下顯示出來了,原來SASHELP里面有152個數(shù)據(jù)集。庫名當(dāng)然要換成你自己的庫名。

有了數(shù)量,有了具體數(shù)據(jù)集名稱(已經(jīng)用空格分割開了),我們接下來就可以進(jìn)行處理了。

%do i=1 %to &obss;

%let rawname=%scan(&nameall.,&i.);

%end;

在這個循環(huán)里面進(jìn)行你要對數(shù)據(jù)集進(jìn)行的處理,當(dāng)然有一些小細(xì)節(jié)你可能會遇到,到時候自己慢慢琢磨吧。

當(dāng)我們對數(shù)據(jù)集進(jìn)行處理完成后,就是導(dǎo)出到EXCEL了,同樣的,我們依舊可以利用循環(huán),不用一個一個對數(shù)據(jù)集進(jìn)行輸出選項。

同樣是先獲取你數(shù)據(jù)集處理后的庫(也就是你在本地創(chuàng)建的文件夾),看看有多少數(shù)據(jù)集。

就這一個宏程序,就能將你輸出的數(shù)據(jù)集導(dǎo)出到excel,你所做的就是先創(chuàng)建文件夾,然后libname一下。注意程序中的3個位置,最好不要寫錯,要不然很有可能會報錯。

ods?excel?options( sheet_name="&dataname" )?允許你定義輸出的表名叫什么,proc print/proc report都可以用,因為DM那邊要求以變量的label作為列標(biāo)題,所以用了label選項。noobs是因為用proc print輸出的時候,excel會顯示前面的順序,所以要取消就才用了這個選項。

因為這次數(shù)據(jù)量比較少,所以用proc report/proc print也沒有報內(nèi)存不足的錯誤,至于怎么解決,以后再說。

感覺自己就是懶,然后想著法子看看能不能簡化程序,在這個過程中學(xué)到了很多,最重要的是效率提高了很多。

**************************************************

天氣忽然就轉(zhuǎn)涼了,前天還是熱氣騰騰,今天就得穿上秋衣了,天氣太反常了,秋天也來的太晚了。大家記得多穿衣服,別感冒了。

想想自己好像快10個月沒有得過感冒了,上次挺嚴(yán)重的我記得是在一月份,其他即使有也是很快就好了。不知道是因為成年人本身就比較少生病還是因為我經(jīng)常鍛煉的原因。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容