Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS...

22
1 A. Muhle, Dr. A. Christmann Universität Dortmund, HRZ [email protected] Stand 27.06.2000 ohne Gewähr Einführung in das Output Delivery System (ODS) von SAS Version 8.0 INHALT: 1. EINLEITUNG 2 2. ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15 9. ODS PATH 16 10. ODS VERIFY 17 11. PROC TEMPLATE 17 12. LITERATUR UND DOKUMENTATION 22

Transcript of Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS...

Page 1: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

1

A. Muhle, Dr. A. ChristmannUniversität Dortmund, HRZ

[email protected] 27.06.2000

ohne Gewähr

Einführung in das Output Delivery System (ODS)von SAS Version 8.0

INHALT:

1. EINLEITUNG 2

2. ODS HTML 3

3. ODS OUTPUT 6

4. ODS PRINTER 9

5. ODS LISTING 9

6. ODS SELECT /EXCLUDE 9

7. ODS SHOW 13

8. ODS TRACE 15

9. ODS PATH 16

10. ODS VERIFY 17

11. PROC TEMPLATE 17

12. LITERATUR UND DOKUMENTATION 22

Page 2: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

2

1. Einleitung

In der neuen Version 8.0 der Statistik-Software SAS sind einige wesentliche Neuerungenimplementiert, zu denen unter anderem das Output Delivery System, kurz ODS, gehört.Dieses System wurde entwickelt, um die Möglichkeiten früherer SAS-Versionen bezüglichder Ausgestaltung des Outputs zu erweitern. Ziel dieser Kurzeinführung ist es, dem Leser denEinstieg in ODS zu erleichtern. ODS wird daher hier nicht in seiner Gesamtheit dargestellt.ODS ist eine Methode, die die Ausgabe von SAS-Prozeduren in attraktive Berichte imHTML- bzw. im RTF-Format konvertieren kann und die es möglich macht, auf dieErgebnisse einfacher und gezielter als bisher zuzugreifen. Zu den Vorteilen von ODSgehören:

• Mit ODS lassen sich die Prozedurergebnisse an vier bestimmte Ausgabemediensenden. Zu diesen vier "ODS-Zielen" gehören

- HTML-Datei (für das Internet)- SAS-Datei- Drucker- traditionelles Output Fenster.

• Wie bereits erwähnt kann der Output leicht in ein HTML- bzw. (noch imexperimentellen Modus) in ein RTF-Format geschrieben werden. Dies bietet u.a. dieMöglichkeit, die Ergebnisse in eine HTML-Datei zu stellen bzw. als Word-Dateiweiter zu bearbeiten.

• Im Gegensatz zu früheren SAS-Versionen ist der SAS-Output nun in einzelne Output-Objekte aufgegliedert. Damit ist es möglich, gezielt auf einzelne Ausgabeobjektezuzugreifen. Dies erlaubt eine individuelle Handhabung des Outputs. Beispielsweiseliefert die Prozedur PROC UNIVARIATE fünf Ausgabe-Objekte (Tabellen fürMomente, Ausreißer, etc.), die getrennt je nach Wunsch einzeln, komplett oder garnicht ausgewählt und an die erwähnten Ausgabemedien geschickt werden können.Außerdem können die für die jeweiligen Ausgabemedien ausgewählten Objekte desOutputs an diese Ausgabemedien gesendet werden.

• Der Output von SAS-Prozeduren kann mit ODS vom Benutzer beliebig verändernwerden (z.B. bzgl. der Struktur, der Größe, der Schrift etc.).

• ODS legt zu jedem Objekt des Outputs einen Link in einem Ordner in dem ResultsWindow an.

In den folgenden Abschnitten wird die einfache Integration von ODS in einen gewohntenSAS-Programmablauf anhand von kurzen Beispielen dargestellt, die lediglich der Illustrationdienen.Zur Implementierung von ODS in ein beliebiges Programm steht eine überschaubare Anzahlvon zehn verschiedenen ODS-Statements zur Verfügung. Diese werden zunächst in Tabelle 1kurz vorgestellt und danach eingehend erläutert.Für fortgeschrittene SAS-Anwender, die sich mit den von SAS standardmäßig bereitgestellten Styles nicht zufrieden geben möchten, bietet die Prozedur PROC TEMPLATE sehrviele Optionen zur Ausgestaltung des Outputs an. Auf die Möglichkeiten, die diese Prozedurbietet, wird zum Schluß eingegangen.

Page 3: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

3

Zusätzlich zur SAS Version 8.0 ist eine Help-CD erhältlich, die ein überaus umfangreichesund schnell anklickbares Informationsmaterial liefert, welches dem Inhalt vieler SAS-Originalmanuals entspricht. Dort finden sich auch zahlreiche und detaillierte Ausführungenzum Thema ODS.

(Siehe: Base SAS ⇒ The Complete Guide to the SAS Output Delivery System).Abgesehen von der zu empfehlenden Help-CD kann der Benutzer natürlich auch imeigentlichen Hilfemenü in SAS Informationen über ODS erhalten. Diese allerdings etwaskurzgehaltenen Informationen sind zu finden unter:

Getting Help in SAS Software ⇒ Base SAS Software ⇒ ODS.

Schließlich werden im Anhang dieses Berichtes noch einige Literaturstellen angegeben.

In der folgenden Tabelle wird, wie bereits zuvor erwähnt, ein kurzer Überblick über die ODS-Anweisungen gegeben. Nacheinander werden daraufhin die einzelnen ODS-Statementsanhand von Beispielen detaillierter vorgestellt.

Tabelle 1

ODS HTMLODS OutputODS PrinterODS Listing

HTML-Dateien, SAS-Datei, Drucker und das bekannte Output-Fenster können geöffnet, geschlossen und/oder verwaltet werden.

ODS SelectODS Exclude

Die Objekte des Outputs können mit diesen Statements ausgewähltwerden.

ODS ShowODS VerifyODS Trace

Kontrolle der ins Log-Fenster geschriebenen Informationen

ODS Path Setzt den Suchpfad für TEMPLATES

2. ODS HTML

Das ODS HTML Statement öffnet, organisiert oder schließt das HTML Ausgabeformat.

Das folgende SAS-Beispiel-Programm illustriert die Verwendung von ODS. Einmal wird derSAS-Output wie bisher als Listing abgespeichert, dann auch als HTML-Datei(en), hierinklusive Frames, Contents- und Page-Datei sowie JPG-Graphik.

Beispiel (1):

TI TLE1 " Bei spi el : Out put Del i ver y Syst em ODS" ; RUN;OPTI ONS LI NESI ZE=80 PAGESI ZE=60;DATA a; I NPUT Gr oesse Gewi cht @@; CARDS; 174 70 188 89 191 102 163 74 171 53 185 80;

Page 4: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

4

RUN;* * * WI E BI SHER: OUTPUT ALS LI STI NG;PROC PRI NT; RUN;PROC FREQ DATA=a; TABLE Gewi cht * Gr oesse / NOPERCENT NOCOL; RUN;* * * ERZEUGUNG VON HTML- FI LES;ODS HTML BODY=’ body. ht ml ’ FRAME=’ f r ame. ht ml ’ CONTENTS=’ cont ent s. ht ml ’ PAGE=’ page. ht ml ’ St yl e=St at doc;

* * * Auswahl des Out put s i n ODS mi t SELECT;ODS SELECT Basi cMeasur es Moment s; RUN;

PROC UNI VARI ATE DATA=a; VAR Gewi cht ; RUN;GOPTI ONS DEVI CE=I MGJPEG GSFNAME=ausgabe GOUTMODE=REPLACE GSFMODE=REPLACE;FI LENAME ausgabe " pl ot . j pg" ; RUN;PROC GPLOT DATA=a; PLOT Gr oesse * Gewi cht ; SYMBOL1 V=DOT C=RED;RUN; QUI T; RUN;

* * * SCHLI ESSEN DER HTML- FI LES;ODS HTML CLOSE;RUN;

Das Beispiel zeigt die einfache Einbindung von ODS-Statements in ein SAS-Programm. AlsNamen können beliebige HTML-Dateinamen angegeben werden (z.B. ‘C:\temp\temp.html‘).Zu beachten ist lediglich die Stelle, an der die ODS-Statements in dem Programm integriertwerden. In diesem Beispiel erscheint die Häufigkeitstabelle zwar im gewöhnlichen Output,allerdings nicht in der HTML-Datei, da die HTML-Files erst nach dem Aufruf von PROCFREQ erzeugt wurden. Der ODS-SELECT Befehl wählt die anzuzeigenden Objekte aus. Aufdiesen Befehl wird später noch näher eingegangen.

Page 5: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

5

Der HTML-Output erhält mit diesem Programm die folgende Form (die Graphik wirddabei unberücksichtigt gelassen):

The UNIVARIATE ProcedureVar iable: Gewicht

�������������

� � ���������������

������� ��� � � ��� ����� � ������������� ����

����������� ����������� "! ���#�$ # % � ��������&�� '�� (! '

� )�� *+������� , $-! $���$�.���. /���� ��������� $-! . .�.�0���'��

1���&�� ��� ��&������2��� .���# $ 3�� ��� ��&������2��� ��$�

3�����4�42% � ������������� '� (! ��#�������'�� �����65���� � �7������� "! ����0�#�'�.�.�

8�������&2����������������&���9������������ ���

:���&���������� % � ����������9�����;

������� ���-! $�$�$�$�$ ����������� ����������� "! ���#�$�'

����������� ���-! $�$�$�$�$ % � ��������&�� '�� (! '�$�$�$�$

������� ! <�������� ��#-! $�$�$�$�$

= ����� � >���� � ����9���<�������� #-! $�$�$�$�$

Das Vorgehen für Formate im RTF-Stil ist im Prinzip gleich. Anstelle von HTML-Dateiendefiniert man sich RTF-Dateinamen, mit denen es dann u.a. möglich ist, Tabellen inMicrosoft Word zu betrachten bzw. zu bearbeiten.Zu erwähnen ist, daß sich RTF im Experimentierstadium befindet und somit SAS noch keineVerantwortung für einen reibungslosen Programmablauf übernimmt.Insbesondere bei Durchführung der Prozedur FREQ scheint sich dies bemerkbar zu machen,da eine Betrachtung der Ergebnisse im RTF-Format bei dieser Prozedur zwar für einfacheHäufigkeitstabellen jedoch noch nicht für Kreuztabellen möglich zu sein scheint.

Page 6: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

6

3. ODS Output

Das ODS Output Statement erzeugt für Ausgabeobjekte eine oder mehrere SAS-Dateien.

ODS OUTPUT ermöglicht ein Abspeichern der Ausgabeobjekte als SAS-Datei. Die Option

ODS OUTPUT CLEARCLOSESHOW,

löscht die Liste der Ausgabeobjekte, schließt den Output bzw. zeigt die Liste derAusgabeobjekte im Log-Fenster (siehe auch ODS SHOW) an.Das Anlegen eines Outputs in einer SAS-Datei erfolgt stets nach dem folgenden Muster:

OUTPUT-OBJEKT-SPEZIFIZIERUNG <=SAS-DATEI>

Die OUTPUT-OBJEKT-SPEZIFIZIERUNG ist dabei von der FormOUTPUT-OBJEKT <(MATCH_ALL<=macro-var-name>)>

wobei mit dem Befehl OUTPUT OBJEKT festgelegt wird, welche Tabellen in eine Dateigeschrieben werden sollen.

MATCH_ALL bewirkt, das für jedes einzelne Ausgabeobjekt eine SAS-Datei angelegt wird.Wird ein spezieller macro-var-name vom Benutzer festgelegt, so legt SAS eine Liste allererzeugten Dateien in diesem Verzeichnis an. Dadurch ermöglicht SAS eine Verbindung vonverschiedenen Dateien zu einem späteren Zeitpunkt. Das folgende Beispiel 2 wird diesenSachverhalt verdeutlichen.

Beispiel (2):

DATA a;FOOTNOTE " Al l e Angaben i n Pr ozent " ;I NPUT par t ei sex al t er waehl er @@;CARDS;1 1 1 35. 2 1 1 2 39. 31 2 1 36. 4 1 2 2 40. 42 1 1 43. 8 2 1 2 41. 92 2 1 45. 7 2 2 2 40. 8;RUN;PROC FORMAT; VALUE par t f mt 1=’ ABC’

2=’ DEF’ ;VALUE sexf mt 1=' Männer ' 2=' Fr auen' ;VALUE al t er f mt 1=' unt er 40 Jahr e' 2=' über 40 Jahr e' ;

RUN;* * * Er zeugung ei ner SAS- Dat ei mi t ODS;ODS OUTPUT Repor t ( MATCH_ALL=dat aset names) =par t ei out put ( KEEP=par t ei sex al t er waehl er _sum

RENAME=( waehl er _sum=waehl er ) ) ;PROC TABULATE DATA=a;

Page 7: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

7

BY par t ei ; CLASS sex al t er ; VAR waehl er ; TABLE sex, al t er * waehl er ; LABEL sex=’ Geschl echt ’ al t er =’ Al t er ’ par t ei =’ Par t ei ’ waehl er =’ Waehl er ’ ; FORMAT par t ei par t f mt . sex sexf mt . al t er al t er f mt . ;RUN;* * * Er zeugung ei ner HTML- Dat ei ;ODS HTML BODY=’ odsout put - body. ht m’ ;PROC PRI NT DATA=par t ei out put noobs; TI TLE ' Wähl er ver hal t en f ür di e Par t ei ABC' ; RUN;PROC PRI NT DATA=par t ei out put 1 noobs; TI TLE ' Wähl er ver hal t en f ür di e Par t ei DEF' ; RUN;* * * Zusammenf assung der HTML- Out put Dat ei en;DATA b; SET &dat aset names;RUN;PROC PRI NT DATA =b noobs;TI TLE ' Kombi ni er t es Wähl er ver hal t en' ;RUN;ODS HTML CLOSE;ODS OUTPUT CLOSE;

Durch MATCH_ALL=datasetnames werden die in diesem Fall nach Parteien getrenntenAusgabeobjekte nach datasetnames geschrieben und können, falls wie in diesem Beispielgewünscht, zusammengefaßt und dargestellt werden.Die Bezeichnung der SAS-Datei (hier: parteioutput) ist vom Benutzer frei wählbar. Werdendurch MATCH_ALL multiple Ausgabedateien erzeugt, so erfährt die erste Ausgabedatei denNamen der SAS-Datei und die Nachfolgenden ein numerisches Anhängsel (hier also:parteioutput1) bzw. allgemein datei1, datei2, datei3, usw.

Der HTML-Output erhält mit diesem Programm die folgende Form:

Wählerverhalten für die Partei ABC

?�@ A B�C�D E�C�F G�H�B�C�A I�@�C�J�H�C A

K�L�M N�O�P�P�Q R S�P�T�Q R7U�V�W X�Y�R Q Z�[-\ ]

K�L�M N�O�P�P�Q R ^�_�Q R7U�V�W X�Y�R Q Z�`-\ Z

K�L�M a�R X�S�Q�P S�P�T�Q R7U�V�W X�Y�R Q Z�b"\ U

K�L�M a�R X�S�Q�P ^�_�Q R7U�V�W X�Y�R Q U�V-\ U

Page 8: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

8

Wählerverhalten für die Partei DEF

c�d e f�g�h i�g�j k�l�f�g�e m�d�g�n�l�g e

o�p�q r�s�t�t�u v w�t�x�u v7y�z�{ |�}�v u y�~-� �

o�p�q r�s�t�t�u v ����u v7y�z�{ |�}�v u y��(� �

o�p�q q�v |�w�u�t w�t�x�u v7y�z�{ |�}�v u y��-� �

o�p�q q�v |�w�u�t ����u v7y�z�{ |�}�v u y�z-� �

Kombiniertes Wählerverhalten

��� � ����� ����� ��������� ����������� �

����� ��������� � ������� �7�����  �¡�� � ¢�£-¤ ¥

����� ��������� � ¦�§�� �7�����  �¡�� � ¢�¨-¤ ¢

����� ©��  ������ ������� �7�����  �¡�� � ¢�ª"¤ �

����� ©��  ������ ¦�§�� �7�����  �¡�� � ���-¤ �

«�¬�© ��������� � ������� �7�����  �¡�� � ��¢-¤ ­

«�¬�© ��������� � ¦�§�� �7�����  �¡�� � ��®(¤ ¨

«�¬�© ©��  ������ ������� �7�����  �¡�� � ��£-¤ ¯

«�¬�© ©��  ������ ¦�§�� �7�����  �¡�� � ���-¤ ­

Alle Angaben in Prozent

Page 9: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

9

4. ODS Printer

Das ODS Printer Statement öffnet, verwaltet oder schließt die Datei für den Drucker.Falls sie geöffnet ist, läßt sich der Ausdruck in diese Datei schreiben.

Genau wie bei anderen ODS-Statements, die eine Datei spezifizieren, wird hier durchODS PRINTER FILE=‘Dateiname.ps‘

die Drucker-Datei bestimmt, in die der Output geschrieben werden soll. MitODS PRINTER CLOSE

wird das Ausgabemedium Drucker wieder geschlossen. In der Optionsliste, die für dieDrucker-Anweisungen zur Verfügung steht, läßt sich eine Reihe an Veränderungen u.a. bzgl.der Schriftgröße, der Farbe etc. des Outputs angeben.

5. ODS Listing

Das ODS Listing Statement öffnet, organisiert oder schließt das bekannte Output-Fenster.

Durch den BefehlODS LISTING

wird das Output-Fenster aufgerufen. Alle ausgewählten Prozedurergebnisse lassen sich fortanin das Fenster schreiben. Mit dem Befehl

ODS LISTING CLOSEwird es wieder geschlossen.

6. ODS Select /Exclude

Das ODS SELECT bzw. ODS EXCLUDE Statement wählt die in den Ausgabemedienanzuzeigenden Ausgabeobjekte aus.

Mit ODS SELECT bzw. ODS EXCLUDE werden die Ausgabeobjekte ausgewählt, die ineinem der drei Ausgabemedien Listing, HTML-Datei oder Drucker auftreten sollen. Die SAS-Datei stellt als Ausgabemedium einen Ausnahmefall dar, vgl. das Kapitel zu ODS OUTPUT.Verzichtet man auf die Select- oder Exclude-Angabe, so ist dies identisch mit

ODS SELECT ALLwas dem Befehl

ODS EXCLUDE NONEentspricht. Mit diesem Statement werden alle Ausgabeobjekte einer entsprechenden Prozedurangezeigt. Das andere Extremum bildet

ODS SELECT NONE (bzw. ODS EXCLDUE ALL),wodurch keine Objekte angezeigt werden.Möchte der Benutzer nur einige Ausgabeobjekte einer Prozedur auswählen, so gibt er wie inBeispiel 1 das Statement

Page 10: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

10

ODS SELECT Namen der Ausgabeobjektean.

Unter Angabe des Ausgabemediums können mitODS <destination> SELECT Namen der Ausgabeobjekte

die für das jeweilige Ausgabemedium ausgewählten Objekte des Outputs an diesesAusgabemedium gesendet werden.

Im folgenden Beispiel wird mit einem einzigen Aufruf von PROC UNIVARIATE eineHTML-Datei mit den Momenten und eine RTF-Datei mit den statistischen Kenngrößenerzeugt.

Beispiel (3a):

TI TLE1 " Bei spi el ( 3a) : Out put Del i ver y Syst em ODS" ; RUN;OPTI ONS LI NESI ZE=80 PAGESI ZE=60;DATA a; I NPUT Gr oesse Gewi cht @@; CARDS; 174 70 188 89 191 102 163 74 171 53 185 80;RUN;

* * * Öf f nen ei ner HTML- Dat ei ;ODS HTML BODY=' body. ht ml ' ;* * * Auswahl von Ausgabeobj ekt en f ür HTML- Dat ei ;ODS HTML SELECT MOMENTS;

* * * Öf f nen ei ner RTF- Dat ei ;ODS RTF BODY=' body. r t f ' ;* * * Auswahl von Ausgabeobj ekt en f ür RTF- Dat ei ;ODS RTF SELECT BASI CMEASURES;

PROC UNI VARI ATE DATA=a; VAR Gr oesse;RUN;

ODS HTML CLOSE;ODS RTF CLOSE;RUN;

Auf die Angabe des Outputs wird hier verzichtet.

Falls die Bezeichnung der Ausgabeobjekte nicht bekannt oder eine vollständige Liste allerObjekte, die eine Prozedur anzeigen kann, erwünscht ist, so besteht die Möglichkeit, sich mit

ODS TRACE(siehe unten) die Objekte im Log-Fenster anzuschauen oder auf die Online-Dokumentationvon SAS zurückzugreifen. Dort erhält man unter:

Page 11: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

11

Help on SAS Software Products ⇒ SAS/STAT ⇒ SAS/STAT Procedures ⇒ Auswahl einer Prozedur ⇒ Additional Topics ⇒ ODS Table Names

eine vollständige Liste der ODS Namen, die für die jeweilige Prozedur zur Verfügung stehen.Es ist allerdings zu beachten, daß der Select- bzw. der Exclude-Befehl nach dem Ende einesData-Steps, in dem ODS benutzt wird, bzw. nach dem Ende einer Prozedur erlischt. D.h., diedarauffolgende Prozedur oder der DATA-Step wird, falls nicht anders angegeben, mit dergrundsätzlichen Voreinstellung

SELECT ALL (bzw. EXLUDE NONE)durchgeführt. Entgegentreten kann man dem durch den Zusatzbefehl

PERSIST,der bewirkt, daß bei weiteren Prozeduren bzw. DATA-Steps das und nur das Ausgabeobjektangezeigt wird, welches durch PERSIST zum ‘Bleiben gezwungen wurde‘. Um dieses zuillustrieren, folgt ein weiteres Beispiel:

Beispiel (3b):

TI TLE1 " Bei spi el ( 3b) : Out put Del i ver y Syst em ODS" ; RUN;OPTI ONS LI NESI ZE=80 PAGESI ZE=60;DATA a; I NPUT Gr oesse Gewi cht @@; CARDS; 174 70 188 89 191 102 163 74 171 53 185 80;RUN;

* * * Schl i eßen des LI STI NG Fenst er s;ODS LI STI NG CLOSE;* * * Öf f nen ei ner HTML- Dat ei ;ODS HTML BODY=' body. ht ml ' ;* * * Auswahl von Ausgabeobj ekt en;ODS SELECT MOMENTS( PERSI ST) BASI CMEASURES;

PROC UNI VARI ATE DATA=a; VAR Gr oesse;RUN;PROC UNI VARI ATE DATA=a; VAR Gewi cht ;RUN;ODS HTML CLOSE;RUN;

Durch die PERSIST-Angabe wird die Tabelle ‘Moments‘ mit den Momenten auch bei derzweiten Prozedur angezeigt, während die Tabelle mit den ‘BasicMeasures‘ entfällt.

Page 12: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

12

Der HTML-Output erhält mit diesem Programm dann die folgende Form:

The UNIVARIATE ProcedureVar iable: Groesse

°�±�²�³�´�µ�¶

· ¸ ¹ º ²�»�³�¼�½�¾�µ�¶ ¸

°�³�¿�´ À Á�Â-à ¸�¸�¸�¸�¸�Á ¹ º ²�Ä Å�¶�³ Æ Ç�¿�µ�¼�±�´�¶ À È�Á�É

¹�µ�Ê�Ë�³�Ç ¼�¿�µ�¼�±�´ À�À(à È�È�Ì�È�É�Í�Í Î ¿ Æ�¼�¿�´�Ï�³ À É�À(à È�¸�¸�¸�¸�Á

¹ Ð�³ Ñ+´�³�¶�¶ Ò È-à Ì�É�Á�Ó�Ó�É�Í Ô�º�Æ µ�±�¶�¼�¶ Ò À(à ¸�Õ�È�Í�Â�Õ�Ì

Ö�´�Ï�± Æ�Æ ³�Ï�µ�³�Ê2¹�¹ À Í�É�À Ì�¸ ×�± Æ�Æ ³�Ï�µ�³�Ê2¹�¹ ¸�È�Ó-à Ì�Ì�Ì�Ì�Ì�Ì

×�±�³�Ø�Ø2Î ¿ Æ�¼�¿�µ�¼�±�´ ¸"à À Ó�Â�Õ�À É�É�Ó ¹�µ�Ê6Ù�Æ�Æ ± Æ7°�³�¿�´ Õ"à Õ�Í À Í�¸� À Õ

Ú�¿�¶�¼�Ï2¹�µ�¿�µ�¼�¶�µ�¼�Ï�¿�Û�°�³�¿�¶�º�Æ ³�¶

Ü�±�Ï�¿�µ�¼�±�´ Î ¿ Æ�¼�¿�Å�¼�Û�¼�µ�Ý

°�³�¿�´ À Á�Â-à ¸�¸�¸�Á ¹�µ�Ê�Ë�³�Ç ¼�¿�µ�¼�±�´ À�À(à È�È�Ì�È�Ì

°�³�Ê�¼�¿�´ À Á�Í-à Ó�È�È�È Î ¿ Æ�¼�¿�´�Ï�³ À É�À(à È�¸�¸�¸�Á

°�±�Ê�³ à Þ�¿�´�½�³ É�Â-à È�È�È�È�È

ß ´�µ�³ Æ à�º�¿ Æ µ�¼�Û�³�Þ�¿�´�½�³ À Á-à È�È�È�È�È

Page 13: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

13

The UNIVARIATE ProcedureVar iable: Gewicht

á�â�ã�ä�å�æ�ç

è é ê ë ã�ì�ä�í�î�ï�æ�ç é

á�ä�ð�å ñ�ò ê ë ã�ó ô�ç�ä õ ö�ð�æ�í�â�å�ç ÷�é�ò

ê�æ�ø�ù�ä�ö í�ð�æ�í�â�å ú é"û ñ�é�ü�ý ú ü ú þ ð õ�í�ð�å�ÿ�ä ��ò ú(û �

ê���ä �+å�ä�ç�ç � ý-û ý�é�é�ý���ò�� ��ë�õ æ�â�ç�í�ç ý-û � ú ������÷���ñ

�å�ÿ�â õ�õ ä�ÿ�æ�ä�ø2ê�ê ��ñ�ü ú ý �â õ�õ ä�ÿ�æ�ä�ø2ê�ê ú ÷�ý�é

�â�ä����2þ ð õ�í�ð�æ�í�â�å ��ú(û ÷�ü�ò�ñ�÷���÷ ê�æ�ø� �õ�õ â õ7á�ä�ð�å é"û ò�÷���ü�������é

Eine nicht zu unterschätzende Bedeutung kann bei ODS SELECT/EXCLDUE dem BefehlQUIT

zukommen. Bei einigen SAS-Prozeduren (z.B. DATASETS, GLM, REG, GPLOT) endet mitdem Befehl RUN die Prozedur noch nicht und es tritt dann folgender Effekt ein. Nachdem dieerste Select/Exclude-Angabe vor einer der gerade erwähnten Prozeduren durchgeführt unddiese durch QUIT nicht beendet wurde, wird bei einer folgenden zweiten Prozedur mit eineranderen Select/Exclude-Angabe diese von dem Programm ohne QUIT nicht modifiziert undes werden die Ausgabeobjekte angezeigt, die mit SELECT ALL bzw. EXCLUDE NONEangefordert wurden. Im Vorsichtsfall erscheint es daher ratsam, diese Prozeduren durch QUITzu beenden.

7. ODS Show

Das ODS Show Statement schreibt in das SAS-Log-Fenster die aktuelle ausgewählteListe der Ausgabeobjekte.

Zur Verdeutlichung wird ein weiteres Beispiel betrachtet, das wie das Beispiel 3b aufgebautist, das aber um einige ODS SHOW Anweisungen erweitert wurde. Anstelle des Outputs wirddas Ergebnis des Log-Fensters betrachtet.

Beispiel (4):

TI TLE1 " Bei spi el ( 4) : Out put Del i ver y Syst em ODS" ; RUN;OPTI ONS LI NESI ZE=80 PAGESI ZE=60;DATA a; I NPUT Gr oesse Gewi cht @@; CARDS; 174 70 188 89 191 102 163 74 171 53 185 80;RUN;

Page 14: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

14

ODS LI STI NG;* * * Anzei ge der vor ei ngest el l t en Auswahl i m LOG- Fenst er ;ODS SHOW;ODS SELECT MOMENTS( PERSI ST) BASI CMEASURES;* * * Anzei ge der ausgewähl t en Ausgabeobj ekt e i m LOG- Fenst er ;ODS SHOW;PROC UNI VARI ATE DATA=a;VAR Gr oesse;RUN; QUI T; RUN;* * * Anzei ge der ausgewähl t en Ausgabeobj ekt e i m LOG- Fenst er ;ODS SHOW;PROC UNI VARI ATE DATA=a;VAR Gewi cht ;RUN; QUI T; RUN;ODS LI STI NG CLOSE;RUN;

Im Log-Fenster erscheint daraufhin bei Ablauf des Programmes u.a. folgendesErgebnis:

149 ODS LI STI NG;150151 ODS SHOW;Cur r ent OVERALL sel ect l i st i s: � � �152153 ODS SELECT MOMENTS( PERSI ST) BASI CMEASURES;154155 ODS SHOW;Cur r ent OVERALL sel ect l i st i s:1. MOMENTS( PERSI ST)2. BASI CMEASURES156157 PROC UNI VARI ATE DATA=a;158 VAR Gr oesse;159 RUN;159! QUI T; RUN;160161 ODS SHOW;Cur r ent OVERALL sel ect l i st i s:1. MOMENTS( PERSI ST)162163 PROC UNI VARI ATE DATA=a;164 VAR Gewi cht ;165 RUN;165! QUI T; RUN;166167 ODS Li st i ng CLOSE;168 r un;

ODS Show stellt eine nützliche Hilfe bei umfangreicheren bzw. komplexeren SAS-Programmen dar, in denen der Benutzer mit diesem schnell eingeführten Befehl zumindestden Überblick über die aktuelle Auswahl der Ausgabeobjekte behält.

Page 15: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

15

8. ODS Trace

Mit dem ODS TRACE Statement werden die Ausgabeobjekte des entsprechendenAusgabemediums in das LOG-Fenster geschrieben.

Mit Hilfe vonODS TRACE ON/OFF

werden Angaben über Name, Label, Template und Path der Ausgabeobjekte aktiviert bzw.deaktiviert. Wie es bereits im Abschnitt über ODS SELECT/EXCLUDE angesprochen wurde,erzeugt ODS TRACE eine Liste der Ausgabeobjekte, die von einer Prozedur angezeigtwerden. Diese Information erleichtert damit die Auswahl von Ausgabeobjekten. Möchte derAnwender lediglich ein bestimmtes Objekt (Momente, Quantile,...) einer Prozedur angezeigtbekommen, weiß allerdings die für ODS SELECT/EXCLUDE notwendige Bezeichnung desObjektes nicht, so kann er sich mit ODS TRACE die Namen aller Objekte anzeigen lassenund das gewünschte Objekt dann übernehmen.Das folgende Beispiel beinhaltet eine Anwendung von ODS TRACE.

Beispiel (5):

TI TLE1 " Bei spi el ( 5) : Out put Del i ver y Syst em ODS" ; RUN;OPTI ONS LI NESI ZE=80 PAGESI ZE=60;DATA a; I NPUT Gr oesse Gewi cht @@; CARDS; 174 70 188 89 191 102 163 74 171 53 185 80;RUN;

* * * Ei nschal t en der Opt i on TRACE;ODS TRACE ON;PROC UNI VARI ATE DATA=a;VAR Gr oesse;RUN;* * * Beenden der Opt i on TRACE;ODS TRACE OFF; RUN;

In dem Log-Fenster erscheinen u.a. folgende Angaben:

177 * * * Ei nschal t en der Opt i on TRACE;178 ODS TRACE ON;179180 PROC UNI VARI ATE DATA=a;181 VAR Gr oesse;182 RUN;

Out put Added:- - - - - - - - - - - - -Name: Moment sLabel : Moment sTempl at e: base. uni var i at e. Moment sPat h: Uni var i at e. Gr oesse. Moment s- - - - - - - - - - - - -

Page 16: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

16

Out put Added:- - - - - - - - - - - - -Name: Basi cMeasur esLabel : Basi c Measur es of Locat i on and Var i abi l i t yTempl at e: base. uni var i at e. Measur esPat h: Uni var i at e. Gr oesse. Basi cMeasur es- - - - - - - - - - - - -

Out put Added:- - - - - - - - - - - - -Name: Test sFor Locat i onLabel : Test s For Locat i onTempl at e: base. uni var i at e. Locat i onPat h: Uni var i at e. Gr oesse. Test sFor Locat i on- - - - - - - - - - - - -

Out put Added:- - - - - - - - - - - - -Name: Quant i l esLabel : Quant i l esTempl at e: base. uni var i at e. Quant i l esPat h: Uni var i at e. Gr oesse. Quant i l es- - - - - - - - - - - - -

Out put Added:- - - - - - - - - - - - -Name: Ext r emeObsLabel : Ext r eme Obser vat i onsTempl at e: base. uni var i at e. Ext ObsPat h: Uni var i at e. Gr oesse. Ext r emeObs- - - - - - - - - - - - -182! QUI T; RUN;183184 * * * Beenden der Opt i on TRACE;185 ODS TRACE OFF;186 RUN;

ODS TRACE/LISTING bewirkt, daß der „Trace Record“ anstatt in das Log-Fenster in den Listing Outputgeschrieben wird.

9. ODS Path

Das ODS PATH Statement setzt den Suchpfad für Templates.

MittelsODS Path location(s)

werden die Ordner/Dateien bestimmt, in denen nach gewissen Einstellungen (densogenannten Templates) zu suchen ist. Diese Einstellungen können z.B. den Schrifttyp, dieFarbe, die Größe des Titels, die Spaltenübersicht usw. angeben. Derartige Templates könnenmit der Prozedur

PROC TEMPLATE(siehe unten) erzeugt werden. Zwölf dieser mittels PROC TEMPLATE erzeugten Styleswerden von SAS vorgegeben und sind im Results Fenster zu finden unter (per Klick mit derrechten Maustaste auf Results):

Page 17: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

17

Templates ⇒ sashelp.tmplmst ⇒ Styles

bzw. können in der Menüleiste angeklickt werden unter

Tools ⇒ Options ⇒ Preferences ⇒ Results.

Werden die bereits oben erwähnten Ordner bzw. Dateien aufgerufen, so wird mittels(READ | UPDATE | WRITE)

bestimmt, welcher Zugriffsmodus gewährt werden soll, also entweder nur der ’Lesezugriff‘ ,ein ‘Updatezugriff‘ oder ein Schreibzugriff, bei dem stets ein neues Template angelegt wird.

10. ODS Verify

Das ODS VERIFY Statement druckt oder unterdrückt eine Warnung, falls eineSTYLE- oder TABLE-Definition verwendet wird, die nicht von SAS zur Verfügunggestellt wird.

Das ODS VERIFY Statement kann hilfreich sein in Verbindung mit PROC TEMPLATE. DieProzedur PROC TEMPLATE kann Werte eines Output-Objektes modifizieren. Keine der vonSAS zur Verfügung gestellten Definitionen ändern diese Werte. Falls der Nutzer beiVerwendung von ODS VERIFY eine Warnung erhält, sollte er den Programmcodeüberprüfen, um sicherzustellen, daß die Werte der Output-Objekte nicht modifiziert wurden.

Die Syntax lautet:ODS VERIFY <ON | OFF | ERROR>;

11. PROC TEMPLATE

Die Benutzung dieser Prozedur ist unserer Meinung nach für fortgeschrittene SAS-Programmierer zu empfehlen, die sich bei der Ausgestaltung der Prozeduren-Ausgabe nichtmit den von SAS gelieferten Vorgaben zufrieden geben möchten und schon Erfahrung mitODS gesammelt haben.Nichtsdestotrotz bieten die verschiedenen von SAS angebotenen Standard Templates einenutzenswerte Grundlage, mittels denen man seine persönliche Prozedurausgabe gestaltenkann. Ein Template entsteht als Ausgabe der Prozedur PROC TEMPLATE. Die dortbenutzten SAS Anweisungen und Attribute beschreiben, wie ODS die von der jeweiligenProzedur erzeugten Informationen formatieren und darstellen soll.Insgesamt bietet ODS fünf verschiedene Template Typen an:

• TABLE• STYLE• COLUMN• HEADER• FOOTER.

Von diesen erscheinen uns die beiden erstgenannten am wichtigsten sind. Auf diese wirddaher hier etwas näher eingegangen.

Page 18: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

18

Während TABLE Attribute wie Formate, Spaltenbreiten, Bezeichnungen etc. für einbestimmtes Ausgabe-Objekt einer Prozedur definiert, legt das STYLE-Template Schrifttypen,Schriftgrößen, Farben etc., also Definitionen zur Kontrolle des gesamten Erscheinungsbildes,fest.Es würde den Rahmen dieser Kurzeinführung in ODS sprengen, jeden einzelnen Befehlvorzustellen, der mit PROC TEMPLATE eine Veränderung des Outputs bewirkt. Deswegenwird hier mittels eines Beispiels versucht, einen Teil der Gestaltungsmöglichkeiten vonPROC TEMPLATE aufzuzeigen.Der Programmaufbau des Beispiels ist relativ einfach und übersichtlich. Zunächst wirdanhand des aus Beispiel (1) bekannten Datensatzes die Prozedur UNIVARIATEdurchgeführt, wobei nur die extremen Beobachtungen angezeigt werden sollen. Imnachfolgenden Output des Programms erscheint daraufhin die von SAS gelieferte und vomBenutzer noch unverändert gelassene Tabelle, die mit dem von SAS vorbereiteten StyleSTATDOC erstellt wurde.Im Programm erfolgt nun die Modifizierung des Outputs mittels PROC TEMPLATE. Hierbeiwerden wie bereits zuvor erwähnt, mittels define style zunächst generelle Größen festgelegt.Die Syntax dazu sollte verständlich und nachvollziehbar sein. Selbstverständlich stellen dieseVeränderungen nur einen Bruchteil der Möglichkeiten dar, die allein mittels define style vomBenutzer vorgenommen werden können. Informationen dazu, zu den anderen TemplateTypen, zu Beispielprogrammen etc. findet man auf der Help-CD im Part2 unter "TheTemplate Procedure".Im zweiten Teil des zu modifizierenden Outputs wird der bereits oben angesprocheneVorgang dargestellt, bei dem ein bestehendes Template durch eigene Wünsche verändertwird. Es handelt sich hierbei um ein Table Template der Prozedur UNIVARIATE für dieKomponente Extreme Observations. Die Syntax dieses Templates ist zu finden unter:

Templates ⇒ sashelp.tmplmst ⇒ Base ⇒ Univariate ⇒ ExtObs

Diese leicht vom Benutzer in das eigene Programm kopierbare und vorgefertigte Syntaxwurde von den Autoren nur minimal verändert. Diese Veränderungen sind farblichgekennzeichnet und beinhalten die

• Übersetzung der englischen Begriffe ins Deutsche• Veränderung der Anzahl der Nachkommastellen in den beiden Spalten Wert• Modifizierung der Schriftart, Schriftgröße und Schriftfarbe sowie der Ausrichtung in der ersten Spalte Wert

Die so veränderte Tabelle soll keine „Idealtabelle“ darstellen, sondern lediglich einen Teil derVeränderungsmöglichkeiten von PROC TEMPLATE aufzeigen.

Möchte der Benutzer z.B. die Ergebnisse in Word betrachten, so kann er sie wie bereits ineinigen Beispielen gezeigt im RTF-Format abspeichern und dann sehr handlich als Word-Datei bearbeiten. Im Menuepunkt Tabelle bzw. bei den Symbolleisten Tabellen und Rahmenstehen dazu eine Menge an Möglichkeiten zur Verfügung.

Page 19: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

19

Beispiel (6):

* * * Er zeugung ei nes HTML- Fi l es i m St yl e STATDOC;ODS HTML BODY=" c: \ t mp\ myt emp. ht ml " St yl e=St at doc;

TI TLE1 " Bei spi el : Out put Del i ver y Syst em ODS" ; RUN;OPTI ONS LI NESI ZE=80 PAGESI ZE=60;DATA a; I NPUT Gr oesse Gewi cht @@; CARDS; 174 70 188 89 191 102 163 74 171 53 185 80;RUN;

* * * Auswahl des Out put s i n ODS mi t SELECT;ODS SELECT Ext r emeObs; RUN;

* * * SAS- Vor ei nst el l ung;PROC UNI VARI ATE DATA=a; VAR Gewi cht ; RUN;

* * * Modi f i z i er ung des OUTPUTS mi t t el s PROC TEMPLATE;* * * vgl . auch di e Dat ei auf der ONLI NE HELP CD: ;* * * . . . / sasdoc/ sasht ml / ods/ z1131081. ht m;PROC TEMPLATE; DEFI NE STYLE NEWSTYLE; STYLE FONTS / " headi ngf ont " =( " ar i al , hel vet i ca" , 3, bol d r oman) " t i t l ef ont " =( " ar i al , hel vet i ca" , 4, bol d i t al i c) ;

STYLE COLORS / " l i ght " =whi t e " medi um" =cxaaaaf f " dar k" =bl ue " br i ght " =gr een;

STYLE HEADER / backgr ound=col or s( " medi um" ) f or egr ound=col or s( " dar k" ) f ont =f ont s( " headi ngf ont " ) ;

STYLE SYSTEMTI TLE / backgr ound=col or s( " l i ght " ) f or egr ound=col or s( " br i ght " ) f ont =f ont s( " t i t l ef ont " ) ;

STYLE TABLE / cel l spaci ng=3 bor der wi dt h=10 bor der col or l i ght =col or s( " medi um" ) bor der col or dar k=col or s( " dar k" ) ; END;RUN;

Page 20: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

20

PROC TEMPLATE; DEFI NE TABLE Base. Uni var i at e. Ext Obs / STORE=SASUSER. t empl at ; * * * angel egt wi r d di e Dat ei t empl at . sas7bi t m i m SASUSER- Ver zei chni s; * * * wenn di ese Ei nst el l ungen ni cht mehr gewuenscht wer den, muss di ese * * * Dat ei per Hand gel oescht wer den. ; NOTES " Kl ei nst e und gr ößt e Beobacht ungen" ; dynami c l i d hi d; col umn Low LowI dNum LowI dChar LowFr eq LowObs Hi gh Hi ghI dNum Hi ghI dChar Hi ghFr eq Hi ghObs;

HEADER h1 hl ow hhi gh; DEFI NE h1; t ext " Ext r eme Beobacht ungen" ; space = 1; spi l l _mar gi n; END;

DEFI NE hl ow; t ext " Kl ei nst e Beobacht ungen" ; expand = " - " ; end = LowObs; st ar t = Low; space = 1; spi l l _mar gi n; END; DEFI NE hhi gh; t ext " Gr ößt e Beobacht ungen" ; expand = " - " ; end = Hi ghObs; st ar t = Hi gh; space = 1; spi l l _mar gi n; END; DEFI NE Low; header = " Wer t " ; space = 3; gl ue = 2; FORMAT = 10. 4; * * * 4 Nachkommast el l en; STYLE=HEADER{ FONT_STYLE=i t al i c FONT_SI ZE=4 BACKGROUND=gr een l i ght } ; JUST=l ef t ; END; DEFI NE LowI dChar ; header = l i d; gl ue = 2; space = 3; gener i c; END; DEFI NE LowI dNum; header = l i d; gl ue = 2; space = 3; gener i c; END;

Page 21: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

21

DEFI NE LowFr eq; header = " Häuf i gkei t " ; gl ue = 2; space = 3; f or mat = 6. 0; END;

DEFI NE LowObs; header = " Fal l " ; space = 8; f or mat = 6. 0; END;

DEFI NE Hi gh; header = " Wer t " ; space = 3; gl ue = 2; FORMAT = 8. 2; * * * 2 Nachkommast el l en; END;

DEFI NE Hi ghI dNum; header = hi d; gl ue = 2; space = 3; gener i c; END;

DEFI NE Hi ghI dChar ; header = hi d; gl ue = 2; space = 3; gener i c; END;

DEFI NE Hi ghFr eq; header = " Häuf i gkei t " ; gl ue = 2; space = 3; f or mat = 6. 0; END;

DEFI NE Hi ghObs; header = " Fal l " ; f or mat = 6. 0; END;END;RUN;

* * * Ver wendung des neuen St yl es;ODS HTML STYLE=newst yl e;* * * Auswahl des Out put s i n ODS mi t SELECT;ODS SELECT Ext r emeObs; RUN;PROC UNI VARI ATE DATA=a; VAR Gewi cht ; RUN;* * * Schl i eßen des HTML- FI LES;ODS HTML CLOSE;

Page 22: Einführung in das Output Delivery System (ODS) von SAS ... · ODS HTML 3 3. ODS OUTPUT 6 4. ODS PRINTER 9 5. ODS LISTING 9 6. ODS SELECT /EXCLUDE 9 7. ODS SHOW 13 8. ODS TRACE 15

22

Der HTML-Output erhält mit diesem Programm dann die folgende Form:

The UNIVARIATE ProcedureVar iable: Gewicht

� ����� ��������������� ���������� ��

!�� "#����� $���%�&������

'���(�)�� ����� '���(�)�� �����

*�+ * ,�- .

,�- . ,�/ /

,�/ / 0�- 1

0�- 1 0�2 3

0�2 3 . -�3 +

Beispiel: Output Delivery System ODSThe UNIVARIATE Procedure

Var iable: Gewicht

4 5�6�7 8�9�8;:�8�<�=�>�?�@�6�A�B�C�8�BD�E�8�F�B�G�6�8;:�8�<�=�>�?�@�6�A�B�C�8�B H#7 I�J�6�8;:�8�<�=�>�?�@�6�A�B�C�8�B

K#8�7 6 L�>�E�E K#8�7 6 L�>�E�EM�NPO Q�Q�Q�Q M R�QPO Q�Q SR�QPO Q�Q�Q�Q S R�TUO Q�Q TR�TUO Q�Q�Q�Q T V�QPO Q�Q WV�QPO Q�Q�Q�Q W V�XPO Q�Q YV�XPO Q�Q�Q�Q Y S Q�YUO Q�Q N

12. Literatur und Dokumentation

• Schwarz, Hans (1999). Output Delivery System (ODS) - der schnelle Weg zugeschäftsfähigen Berichten. 17. deutschsprachige Internationale SAS-BenutzerKonferenz, 27.-29. Oktober 1999, Ulm.

• SAS Version 8.0, Online-Help-CD.(Siehe: Base SAS ⇒ The Complete Guide to the SAS Output Delivery System).

• SAS Version 8.0, Online Help Menue:Getting Help in SAS Software ⇒ Base SAS Software ⇒ ODS.