Der Referent Output Delivery System ODS z Grischa Pfister z z z Die Prozedur Template z Seit 1993 SAS aktiv 1999 Info Ware seit 04/2003 iCASUS Arbeitsfelder z z z Anwendungsentwicklung AF, IntrNet, Java Data Warehouse Schulungen Base, AF, Java SAS-Output vor ODS z Zwei Formen z Das ODS-Konzept z z Listing im Output-Fenster Ausgabe-Tabellen Nachteile z z z z z z z Manche Prozeduren erzeugen keine Tabellen Nicht alle Informationen in Tabellen Statisch Nur Proportional-Schriftarten Keine echte Tabellenstruktur Übernahme in Textverarbeitung, Tabellenkalkulation, Graphikprogramme schwer oder gar nicht möglich Hoher Nachbearbeitungsaufwand 1 SAS-Output mit ODS z z Alles was im OUTPUT-Fenster erscheint steht im ODS zur Verfügung Alle Informationen aller Prozeduren Ergebnisse werden an viele Kanäle gleichzeitig geliefert z z z z z z Gliederung des Output z z z Parallelisierung des Output z z z WYSIWYG z z ODS Ausgabe-Kanäle Listing Output HTML PDF RTF Printer PS Experimental z Prozedur-Output wird in Objekte zerlegt Zugriff auf jedes einzelne Objekt möglich z z z Funktionsweise des ODS Output-Fenster SAS-Tabelle Dokument für WWW Dokument für Acrobat Reader Dokument für Textverarbeitung Systemdrucker Postscript LateX XML Markup ... ODS-Syntax Prozedur / Data Step z Globale Statements z ODS Voll batch-fähig Listing z Kanal SAS-Tabelle DatenKomponente Table Template Listing Output Style HTML Template RTF Dokument PRINTER z z z z RTF PDF Output-Objekt HTML Dokument Schalterprinzip Kanal wird geöffnet Output von Prozeduren/Data Steps Kanal wird geschlossen Ergebnis ist betrachtbar PDF Dokument Ausdruck ... ... 2 Öffnen und Schließen von ODS-Kanälen z Öffnen eines Kanals z z z Ods Kanal; Ods Kanal File = „pfad“; Ods Kanal output-objekt = SAS-Tabelle; ODS Grundeinstellungen z Tools -> Options -> Preferences z Tabber „Results“ z Ods Listing Ergebnisse als HTML Style = default Web-Browser z Direkte Anzeige der Ergebnisse z z z Schließen eines Kanals z z z z Ods Kanal Close; Ods _all_ Close; z Umstellen unter Tabber „Web“ Grundprinzip z z Es muss mindestens ein Kanal geöffnet sein Ansonsten Warning im LOG-Fenster z Abstrakte Beschreibung von ODS-Elementen z z ODS Styles z z Layoutangaben z z z z z Dokument Inhaltsverzeichnis Seitenverzeichnis Farben Schriftarten (Größe, Gestaltung) Tabellengestaltung (Abstände, Ränder) Beschriftung (z.B. des Inhaltsverzeichnisses) Werden immer verwendet z z z z HTML -> default RTF -> rtf PDF -> printer PRINTER/PS -> printer 3 z Mitgelieferte Styles z z z z z z z z z Proc Print, Proc Report, Proc Tabulate Verwendung von Styles z z ODS und Reporting Prozeduren Default D3d Brick statDoc Minimal sasWeb barrettsBlue ... Ods Kanal Style = name; Neue Style-Option z z Style = {style-anweisung ...}; Style(element) = {style-anweisung...}; z Überschreibt Layoutanweisungen des gewählten Styles z Style Anweisungen (Auswahl) z z z z Background = Foreground = borderColor = Schriftart spezifisch z z z z Font_face= Font_size= Font_weight= Font_style= Farbe Farbe Farbe Schriftart Schriftgröße Schrift-Gewichtung (normal/fett) Darstellung (italic=kursiv) 4 z Zellenlayout Cellheight= Cellwidth= Cellpadding= Cellspacing= Just= Vjust= z z z z z z z HTML spezifisch z z z z PreHtml= PostHtml= Url= Flyover= z Zellenhöhe Zellenbreite Randabstand innerhalb Zelle Abstand zwischen Zellen horizontale Ausrichtung vertikale Ausrichtung Graphische Elemente z z z z BackgroundImage= PreImage= PostImage= Hintergrundbild Bild vor Objekt Bild nach Objekt ODS & Proc Print z z z Output in Elemente unterteilt Jedes Element kann einzeln formatiert werden Style-Angaben für z z z z z z Gesamt-Tabelle Spaltenüberschriften Obs-Spalte Datenbereich Einzelne Spalte Einzelne Zelle (Ampel-Funktion über Format) 5 z ODS & Proc Report z z Globale Angaben als Optionen in Prozeduraufruf z z ODS & Proc Tabulate z Header Column z z z Spaltenbezogene Angaben als Optionen im Define-Block z z z z Header Column Table & Style Templates Proc Template z z z Table Template z z z z z z Verwenden der Style-Option in verschiedenen Statements Class Classlev Var Keyword Box-Option Table-Statement Grund-Layout Aufteilung in Spalten Spaltenbeschriftung Zahlenformatierung Kann auch Style-Anweisungen enthalten Style Template z z Layout aller Elemente Titel, Fußnoten, Inhaltsverzeichnisse, ... Abhängig vom Kanal 6 z z Objekt-orientierter Ansatz z Verwaltung von Table & Style Templates z Z.B Styles Hierarchische Organisation in Member Type itemstore z Defaults: Sashelp.Tmplmst (schreibgeschützt) Default z Printer PDF ODS Template Viewer z Kommando OdsTemplate z Results-Fenster RTF [...] RTF Statdoc D3d,... z Eigene Templates speichern z Automatisch in Sasuser.Templat z Table Templates verändern z z z Anlegen eigener Itemstores mit Proc Template z Ods Suchpfad z z z Beispiel Proc Univariate: Extreme Observations Beschriftung eindeutschen Wird in Sasuser.Templat gespeichert Ods Path Show; Ods Path libref.itemstore(modus) ...; modus = read | update | write 7 z Aufbau des Styles Default z z z z z Definition von Schriftarten Definition von Farben Definition der einzelnen Elemente Hierarchie in OnlineDoc beschrieben Base SAS Software -> Guide to the SAS Output Delivery System -> Reference -> The TEMPLATE Procedure -> Concepts Typische Style-Angaben z Ein Style besteht aus einer Vielzahl von Unter-Styles z Innerhalb des Styles ensteht eine Objekt-Hierarchie z ODS gliedert Output in definierte Objekte denen spezifische Styles zugeordnet sind z Style-Angaben sind Name-Wert Paare z Tabellenumrandung Bezogen auf Zellen z z z z z z z z z Cellheight = N in | cm | mm | pt | px Cellwidth = N Cellpadding = N (Platz zwischen Text und Zellenrand) Cellspacing = N (Platz zwischen Zellen) Vjust = top | middle | bottom Just = left | center | right Background = color z z z z z z z z z Font = („font_face,...“,font_size, font_style font_weight) Font_face = „Schriftart“ font_size = N font_style = italic | roman | slant font_weight = bold | medium | light Foreground = color Rändereinstellung z z Schriftart z z z Frame = above | below | box | hsides | lhs | rhs | void | vsides Rules = all | cols | group | none | rows Bottommargin = n Leftmargin = n Rightmargin = n Topmargin = n Spezieller Wert _undef_ z z Attribut gilt dann als nicht gesetzt Z.B. um Information über Hintergrundfarbe zu löschen 8 z Style Templates anpassen z z Neuen Style ableiten Gewünschte Änderungen vornehmen z z Vollständigen Style überschreiben Style ableiten und ändern z Data Step Reporting & Table Templates z Mit Table Templates Schablonen entwerfen z z z z Spaltenlayout Beschriftung Style-Anweisungen Ampelfunktion mit Hilfe von z z z z z Cellstyle-Anweisung Style-Anweisung + Expression-Funktion Style-Anweisung + Format Berechnete Spalten Verändern von Werten 9