【SAS BASE】ODS OUTPUT


ODS(Output Delivery System):

             由於所有的過程輸出前都會進入ODS,因此用戶可利用ODS過程通過選擇合適的destination來輸出數據。

一、ODS的基本性質

  • ODS輸出格式:LISTING(默認的標准SAS輸出)、HTML、RTF、PRTNTER、PS、PCL、PDF、OUTPUT(SAS OUTPUT Date-set)、MARKUP、DOCUMENT;
  • ODS內有table template(指定輸出結構)和style template(指定外觀結構):首先通過table template作用從procedure中產生數據,形成output project,然后經過style template作用送到destination加工,形成最終的OUTPUT。當然,用戶可以通過PROC TEMPLATE建立自定義table template(指定輸出結構)和style template(指定外觀結構):
    1 PROC TEMPLATE;
    2     LIST STYLES;
    3 RUN;
  • 控制外觀的style template:
     1 /*Built-in style template:*/
     2 ANALYSIS 
     3 D3D 
     4 MINIMAL 
     5 SASWEB 
     6 BARETTSBLUE 
     7 DEFAULT /*HTML OUTPUT的默認style*/
     8 PRINTER /*既是destination也是style名,還是PRINTER OUTPUT的默認style*/
     9 SANSPRINTER 
    10 BRICK 
    11 JOURNAL 
    12 RTF /*既是destination也是style名,還是RTF OUTPUT的默認style*/
    13 STATSTICAL
    14 
    15 備注:在PRINT、REPORT、TABULATE過程中,可用STYLE=選項來控制輸出的外觀,從而不需要再用一個新的style template.

    二、ODS OUTPUT

 1 ODS OUTPUT的一般形式:
 2 ODS OUTPUT output-object=new-data-set;
 3 /*output-object:想要保存的那部分output的name、label或路徑;
 4 new-data-set:想要建立的SAS數據集的名字*/
 5 
 6 DATA Giant;
 7      INFILE 'C:\MyRawData\giant.dat';
 8      INPUT NAME :$ 15. color $ days weight;
 9 PROC TABULATE DATA=giant;
10     CLASS color;
11     VAR days weight;
12     TABLE Color ALL,(Days Weight)*MEAN;
13     TITLE;
14 ODS OUTPUT TABLE=tabout;
15 RUN;

、ODS CSV

1 *CSV文件:用逗號隔開,數值用雙引號括起來,雙引號內允許有空格;
2 ODS CSV FILE='C:\MyCSVfiles\golfinto.csv';
3    PROC PRINT DATA=travel.golf;
4         TITLE 'Golf course Information';
5     RUN;
6 ODS CSV CLOSE;
7 
8 【備注】:
9 PROC PRINT過程默認將缺失的數值型數據打印出.(period),但是若用戶不需要,則可通過指派MISSING=''系統選項來實現。

 

 

 

 

、ODS HTML

               生成HTML文件,用戶只需要兩個語句:一個打開HTML文件,一個關閉:

 1  *Create the HTML files and remove procedure name;
 2  ODS HTML FILE='C:\MyHTMLFILES\Marine.html';
 3  /*一般形式:----------Body-filename.html----------options--*/
 4  ODS NOPROCTITLE;/*刪除輸出中的標題*/
 5  DATA Marine;
 6  /*省略讀入數據步驟*/
 7  PROC MEANS DATA=marine MEAN MIN MAX;
 8      CLASS FAMILY;
 9      TITLE ’WAHLES AND SHARKS‘;
10  RUN;
11  PROC PRINT DATA=Marine;
12  RUN;
13  *CLOSE the HTML files;
14  ODS HTML CLOSE;
15 
16 【常用的options】
17 1.CONTENTS='filename': 創建一個連接到body file的table of contents;
18 2. PAGE=’filename‘:創建一個link by 頁碼接到body file的table of contents;
19 3.FRAME='filename':創建一個frame使得用戶可同時查看body file 和目錄或者page file;
20 4.STYLE=style-name:指定特定的style template,默認是DEFAULT.
【備注】:若不需要任何stying,則用CHTML OUTPUT destination代替HTML.
(CHTML:Compact HTML)

     四、ODS RTF(可用於復制進入WORD文檔)

*Create the RTF files ;
 2  ODS RTF FILE='C:\MyHTMLFILES\Marine.rtf' BODYTITLE COLUMNS=2;
 3  /*一般形式:----------Body-filename.rtf----------options--*/
 4  ODS NOPROCTITLE;/*刪除輸出中的標題*/
     (中間部分銅ODS HTML過程)
13  *CLOSE the RTF files;
14  ODS RTF CLOSE;
15 
16 【常用的options】
 1.BODYTITLE: 在RTF文件的主要部分放入titles和footnotes,而不是WORD里面的headers或footnotes;
 2.COLUMNS=n:分欄輸出,n為列數;
 3.SASDATE:默認情況下,RTF輸出的頂部日期和實踐表示上次打開或打印成WORD的時間,加上此選項命令SAS使用當前時間;
 3.STARTPAGE=value:控制page breaks,默認值為YES,在PROC之間插入breaks;若為NO,則關閉breaks;若為NOW,則在那一刻插入break.
 4.STYLE=style-name:指定特定的style template,默認是RTF.

五、ODS PRINTER/PCL/PDF/PS

 1 *Create the PDF files ;
 2 ODS PDF FILE='C:\MyHTMLFILES\Marine.pdf' STARTPAGE=NO;
 3 ODS NOPROCTITLE;
 4 DATA Marine;
 5 /*省略讀入數據步驟*/
 9 RUN;
10 PROC PRINT DATA=Marine;
11 RUN;
12 *CLOSE the PDF files;
13 ODS PDF CLOSE;

【OPTIONS】
1. COLUMNS=n :分n欄輸出
2. STARTPAGE=VALUE: 同RTF;
3.STYLE:默認是PRINTER.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM