• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Tagsets.ExcelXP語(yǔ)句在SAS導(dǎo)出到Excel的方法應(yīng)用

    2016-06-24 02:48:28熊勇超夏蘭芳宋渝丹陳浩王園王
    關(guān)鍵詞:衛(wèi)生統(tǒng)計(jì)報(bào)表語(yǔ)句

    熊勇超夏蘭芳宋渝丹陳 浩王 園王 林△

    ?

    Tagsets.ExcelXP語(yǔ)句在SAS導(dǎo)出到Excel的方法應(yīng)用

    熊勇超1夏蘭芳2宋渝丹3陳 浩1王 園1王 林1△

    1.中國(guó)疾病預(yù)防控制中心政策研究與健康傳播中心(102206)

    2.北京法瑪蘇提克咨詢有限公司

    3.中國(guó)疾病預(yù)防控制中心科技處

    SAS系統(tǒng)被譽(yù)為專業(yè)的統(tǒng)計(jì)分析標(biāo)準(zhǔn)軟件之一,具有強(qiáng)大的數(shù)據(jù)處理和數(shù)據(jù)分析功能[1-4]。當(dāng)有的用戶在操作系統(tǒng)平臺(tái)上沒(méi)有安裝SAS軟件時(shí),傳遞和共享SAS數(shù)據(jù)或報(bào)表時(shí)會(huì)存在困難。Microsoft excel是在平時(shí)辦公中運(yùn)用十分廣泛的數(shù)據(jù)處理和分析軟件[5],為更加有效地實(shí)現(xiàn)SAS數(shù)據(jù)或報(bào)表的傳遞和共享,可以通過(guò)將SAS數(shù)據(jù)或分析結(jié)果導(dǎo)出到Microsoft excel文件中。目前,我國(guó)還沒(méi)有相關(guān)文獻(xiàn)介紹該方法的應(yīng)用,本文將闡述如何采用ODS Tagsets.ExcelXP語(yǔ)句把SAS數(shù)據(jù)或報(bào)表導(dǎo)出為可以用Microsoft excel打開(kāi)的文件。

    語(yǔ)句介紹及用法

    1.ODS

    ODS是SAS Base軟件中可以控制輸出方法及輸出結(jié)果的形式,ODS對(duì)象的常用輸出目標(biāo)有OUTPUT、LISTING、HTML、RTF和PDF等。本文介紹ODS對(duì)象的輸出目標(biāo)之一Tagsets,控制其輸出結(jié)果為可以用excel打開(kāi)的XML格式文件,同時(shí)采用Tagsets.ExcelXP可以創(chuàng)建包含有多個(gè)工作表的excel工作簿。

    2.Tagsets.ExcelXP語(yǔ)法及應(yīng)用

    下面基本的SAS代碼可用來(lái)創(chuàng)建excel工作簿:

    ods _all_ close;

    title J =C“Description”;

    footnote J =C“Executed:&sysdate9.&systimeSAS Version:&sysver.”;

    ods Tagsets.ExcelXP file =“d: est.xml”style =printer

    options(embedded_titles =“yes”

    embedded_footnotes =“yes”

    autofilter =“1-2”

    frozen_headers =“3”

    frozen_rowheaders =“1”

    absolute_column_width =“12”

    autofit_height =“yes”

    sheet_name =“Class”

    proc print data =sashelp.class noobs label;

    run;

    ods Tagsets.ExcelXP close;

    該程序的輸出結(jié)果為:

    語(yǔ)句①是將ODS所有其他的輸出對(duì)象全部關(guān)閉,本程序只輸出可以用Excel打開(kāi)的“xml”文件;語(yǔ)句②指定ODS Tagsets.ExcelXP對(duì)象,其中file =“d: test.xml”指定了存儲(chǔ)在本地磁盤目錄D下的可用excel打開(kāi)的“xml”格式文件test。Style選項(xiàng)控制整個(gè)輸出文件的布局和格式,如字體,字號(hào),背景顏色等,運(yùn)行以下SAS代碼可顯示SAS中ODS可用的所有Style名稱。

    ods _all_ close;

    ods listing;

    當(dāng)問(wèn)及“你知道超市中商品上的條形碼表示什么含義嗎?”時(shí),國(guó)際貿(mào)易專業(yè)55%的學(xué)生表示知道,市場(chǎng)營(yíng)銷專業(yè)84%的學(xué)生表示明白;當(dāng)問(wèn)及“你知道如何來(lái)評(píng)定茶葉的質(zhì)量嗎?”時(shí),國(guó)際貿(mào)易專業(yè)42%的學(xué)生表示知道,市場(chǎng)營(yíng)銷專業(yè)79%的學(xué)生表示知道如何評(píng)定茶葉的質(zhì)量;當(dāng)問(wèn)及“你知道如何來(lái)鑒別滌綸、錦綸、腈綸嗎?”國(guó)際貿(mào)易專業(yè)12%學(xué)生知道如何來(lái)鑒別這幾種紡織纖維,市場(chǎng)營(yíng)銷專業(yè)46%的學(xué)生知道如何來(lái)鑒別這幾種紡織纖維。

    proc template;list styles;run;quit;

    語(yǔ)句③是用來(lái)控制excel工作簿的屬性和功能,在ODS語(yǔ)句中控制tagset選項(xiàng)是通過(guò)opions來(lái)實(shí)現(xiàn)的,Tagsets.ExcelXP可以實(shí)現(xiàn)許多的選項(xiàng)功能,運(yùn)行下面的SAS代碼,所有tagset選項(xiàng)輸出到SAS日志窗口中。

    filename temp temp;

    ods Tagsets.ExcelXP file =temp options(doc =′help′);

    ods Tagsets.ExcelXP close;

    filename temp clear;

    語(yǔ)句④是結(jié)束ods Tagsets.ExcelXP語(yǔ)句。

    下面將重點(diǎn)介紹幾種常用的Tagsets選項(xiàng),如語(yǔ)句③所示,本例中運(yùn)用了9個(gè)Tagsets選項(xiàng)。embedded_ titles和embedded_footnotes是分別用來(lái)指定是否輸出數(shù)據(jù)或報(bào)表的標(biāo)題和尾注,其默認(rèn)值“no”。當(dāng)需要輸出數(shù)據(jù)或報(bào)表的標(biāo)題和尾注,程序員除了要指定SAS程序中title和footnote語(yǔ)句,還要在ODS Tagsets選項(xiàng)中指定embedded_titles =“yes”和embedded_footnotes=“yes”;autofilter選項(xiàng)用來(lái)實(shí)現(xiàn)數(shù)據(jù)或報(bào)表的篩選功能,其默認(rèn)值為“none”,當(dāng)指定autofilter =“all”時(shí),所有的列標(biāo)題右側(cè)均有一個(gè)篩選按鈕,有時(shí)需要某一列或某幾列有篩選按鈕,此時(shí)指定autofilter等于需要指定列的序號(hào);有時(shí)為了查看數(shù)據(jù)或報(bào)表方便,需要凍結(jié)工作表的行和列,frozen_headers和frozen_rowheaders是用來(lái)實(shí)現(xiàn)該功能的,其默認(rèn)值為“no”。當(dāng)需要凍結(jié)工作表的前三行和左一列時(shí),可指定frozen_headers =“3”和frozen_rowheaders =“1”來(lái)實(shí)現(xiàn);absolute_column_width是用來(lái)指定輸出工作表列的絕對(duì)寬度,其默認(rèn)值為“none”;autofit_height,默認(rèn)值為“no”,指定為“yes”時(shí)可以自動(dòng)調(diào)整行高;sheet_name用來(lái)指定輸出工作表的名稱,默認(rèn)值為“none”;sheet_interval該選項(xiàng)控制輸出的excel工作簿中含有幾個(gè)工作表,默認(rèn)值為“table”單個(gè)工作簿中只會(huì)有一個(gè)工作表,當(dāng)指定為“bygroup”時(shí)by變量的每個(gè)值都會(huì)作為一個(gè)工作表,指定為“proc”時(shí)每個(gè)SAS過(guò)程輸出的內(nèi)容作為一個(gè)工作表。

    3.單個(gè)工作薄中輸出多個(gè)工作表的SAS實(shí)現(xiàn)

    下面這段程序可以實(shí)現(xiàn)在單個(gè)工作簿中輸出多個(gè)工作表的功能:

    ods _all_ close;

    title J =C“Description of Class”;

    footnote J =C“Executed:&sysdate9.&systimeSAS Version:&sysver.”;

    ods Tagsets.ExcelXP file =“d: est.xml”style =printer

    options(embedded_titles =“yes”

    embedded_footnotes =“yes”

    autofilter =“1-2”

    autofit_height =“yes”

    frozen_headers =“3”

    frozen_rowheaders =“1”

    absolute_column_width =“12”);

    ods Tagsets.ExcelXP options(sheet_name =“Class _Female”

    sheet_interval =“none”);

    proc print data =sashelp.class noobs label style (header)=[just =center];

    where sex =“F”;

    run;

    ods Tagsets.ExcelXP options(sheet_name =“Class _Male”

    sheet_interval =“none”);

    proc print data =sashelp.class noobs label style (header)=[just =center];

    where sex =“M”;

    run;

    ods Tagsets.ExcelXP close;

    該程序的輸出結(jié)果為:

    單個(gè)工作簿中輸出多個(gè)工作表的實(shí)現(xiàn)方法有多種,正如上文所介紹的sheet_interval選項(xiàng),當(dāng)指定為“bygroup”或“proc”時(shí)均可以實(shí)現(xiàn)該功能,但是要在單個(gè)工作簿中輸出多個(gè)工作表的同時(shí)分別指定每個(gè)工作表的名稱時(shí),可以采用以上的SAS程序,如⑤和⑥所示對(duì)每個(gè)輸出的工作表分別指定sheet_name和sheet_ interval選項(xiàng)。

    在實(shí)踐中往往會(huì)遇到將指定的整批SAS數(shù)據(jù)集導(dǎo)出為excel文件,以下這段程序可以幫助我們實(shí)現(xiàn)這一功能:

    proc sql noprint;

    create table cur_data as select memname from dictionary.tables

    where libname =“SASUSER”order by memname;

    select count(distinct memname)into:dscnt from cur_data;

    %let dscnt =&dscnt;

    select distinct memname into:ds1-:ds&dscnt from cur_data order by memname;

    quit;

    title J =C“Description”;

    footnote J =C“Executed:&sysdate9.&systimeSASVersion:&sysver.”;

    ods Tagsets.ExcelXP file =“d: test_many.xml”style =printer

    options(embedded_titles =“yes”

    embedded_footnotes =“yes”

    autofilter =“1-2”

    autofit_height =“yes”

    frozen_headers =“3”

    frozen_rowheaders =“1”

    absolute_column_width =“12”);

    %macro sas2xls;

    %do i =1%to &dscnt;

    ods Tagsets.ExcelXP options(sheet _ name =“&&ds&i.”

    sheet_interval =“none”);

    proc print data =sasuser.&&ds&i.noobs label style (header)=[just =center];run;

    %end;

    %mend sas2xls;

    %sas2xls;

    ods Tagsets.ExcelXP close;

    上面的程序可以把SAS軟件自帶的SASUSER庫(kù)中的所有數(shù)據(jù)集全部導(dǎo)出到D盤的test_many文件中;如果輸出該庫(kù)中除某個(gè)數(shù)據(jù)集外的所有數(shù)據(jù)集,可以將該不輸出數(shù)據(jù)集名字從cur_data中刪掉。

    討 論

    本文介紹的ODS Tagsets.ExcelXP語(yǔ)句是實(shí)現(xiàn)SAS數(shù)據(jù)或報(bào)表輸出到excel文件最基本、最常用的SAS程序。當(dāng)有其他格式要求時(shí),可以通過(guò)設(shè)置語(yǔ)句中style和options選項(xiàng)控制excel輸出的各種外觀和功能,此外,其他相關(guān)內(nèi)容可以參考SAS相關(guān)文獻(xiàn)[6]。

    單個(gè)excel工作簿中輸出多個(gè)工作表時(shí),style選項(xiàng)(如文章中的style =printer)控制了整個(gè)excel文件的格式,如果在上段程序中⑤和⑥中再指定其他的style是無(wú)效的。在這種情況下,可以在具體的proc過(guò)程中指定style選項(xiàng)來(lái)實(shí)現(xiàn)該工作表的外觀屬性。在實(shí)踐中,如果想把某個(gè)文件夾中的所有數(shù)據(jù)集輸出為excel文件,可以將該文件夾路徑添加至SAS Library中,如命名為BJ,然后采用本文中的程序?qū)J庫(kù)中的所有數(shù)據(jù)集導(dǎo)出。

    本文采用ODS Tagsets.ExcelXP語(yǔ)句輸出的文件后綴是“xml”,是可以用excel打開(kāi)的,如果產(chǎn)生的是“xls”或“xlsx”文件,用excel 2007/2010打開(kāi)時(shí)會(huì)彈出警告對(duì)話框,但仍可以打開(kāi)。Ods Tagests.ExcelXP語(yǔ)句要求在SAS Base9.1.3及以上版本使用,并且要求excel 2002及其以后的版本。

    將SAS數(shù)據(jù)導(dǎo)出到excel的方法除了上文所介紹的方法,還有其他方法,例如SAS菜單欄下導(dǎo)出數(shù)據(jù)選項(xiàng)、export過(guò)程、ods csvall語(yǔ)句、libname語(yǔ)句等等,但是這些方法僅限于數(shù)據(jù)集的導(dǎo)出,不能輸出SAS過(guò)程產(chǎn)生的結(jié)果,也不能實(shí)現(xiàn)對(duì)輸出文件的背景顏色、字體、字號(hào)、格式等excel外觀和功能的控制,這是ODS Tagsets.ExcelXP語(yǔ)句最大的優(yōu)點(diǎn)。ODS Tagsets.ExcelXP可以將數(shù)據(jù)集或者SAS過(guò)程的結(jié)果輸出到excel文件中,但是不支持圖像的輸出,因此不能與SAS/ GRAPH軟件的過(guò)程聯(lián)合使用[6]。

    參考文獻(xiàn)

    [1]王詩(shī)遠(yuǎn),劉沛.流行病學(xué)調(diào)查報(bào)告數(shù)據(jù)標(biāo)準(zhǔn)化入口的SAS實(shí)現(xiàn).中國(guó)衛(wèi)生統(tǒng)計(jì),2013,30(1):114-118.

    [2]李洪興,董國(guó)慶,王麗,等.SAS軟件在公共衛(wèi)生監(jiān)測(cè)數(shù)據(jù)核查中的應(yīng)用.中國(guó)衛(wèi)生統(tǒng)計(jì),2012,29(5):749,751.

    [3]裴磊磊,任琳,高文龍,等.集中指數(shù)及可信區(qū)間的SAS實(shí)現(xiàn).中國(guó)衛(wèi)生統(tǒng)計(jì),2013,32(3):390-392.

    [4]夏蘭芳,孟郁潔,李迎迎,等.多選題數(shù)據(jù)統(tǒng)計(jì)分析方法及SAS實(shí)現(xiàn).中國(guó)衛(wèi)生統(tǒng)計(jì),2015,32(1):163-164.

    [5]宋廷山,王堅(jiān),姜愛(ài)萍.應(yīng)用統(tǒng)計(jì)學(xué):以EXCEL為分析工具.北京:清華大學(xué)出版社,2012.

    [6]DelGobboV.Some Techniques for Integrating SAS Output with Microsoft Excel Using Base SAS.Proceedings of the SAS Global Forum 2013 Conference.Cary,NC:SAS Institute Inc.

    (責(zé)任編輯:劉 壯)

    通信作者:△王林,E-mail:wanglin@ chinacdc.cn

    猜你喜歡
    衛(wèi)生統(tǒng)計(jì)報(bào)表語(yǔ)句
    新醫(yī)療背景下衛(wèi)生統(tǒng)計(jì)工作的實(shí)踐與發(fā)展思考
    基于 Access的衛(wèi)生統(tǒng)計(jì)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
    重點(diǎn):語(yǔ)句銜接
    LabWindows/CVI中Excel報(bào)表技術(shù)研究
    精彩語(yǔ)句
    從三大報(bào)表讀懂養(yǎng)豬人的成績(jī)單
    淺談衛(wèi)生統(tǒng)計(jì)質(zhì)量管理與控制
    如何搞定語(yǔ)句銜接題
    作文語(yǔ)句實(shí)錄
    月度報(bào)表
    萝北县| 潜山县| 宁国市| 钦州市| 广东省| 汝南县| 西乌珠穆沁旗| 九江县| 昆明市| 桦甸市| 天镇县| 文安县| 平凉市| 延寿县| 临沭县| 浏阳市| 和顺县| 米泉市| 洞口县| 湘阴县| 深泽县| 康保县| 富裕县| 金堂县| 公主岭市| 峨眉山市| 金乡县| 迁安市| 辽源市| 虎林市| 海南省| 沅陵县| 梅州市| 博罗县| 论坛| 丰原市| 三原县| 凭祥市| 铜梁县| 上杭县| 甘泉县|