ODS Das Output Delivery System Eine Einführung

Document Sample
ODS Das Output Delivery System Eine Einführung Powered By Docstoc
					      ODS
      Das Output Delivery System
      Eine Einführung

       Grischa Pfister




Der Referent



   Grischa Pfister
      Seit 1993 SAS aktiv

   Arbeitsfelder
      Anwendungsentwicklung
      AF, IntrNet, Java
      Data Warehousing
      SAS9 BI-Architektur
      Schulungen
          Base
          AF
          Java
          BI-Architektur




                                   1
Einleitung



   Zeitrahmen
         14:00 – 18:00 Uhr
         Pausen ca. 15:30 – 15:45 und 16:45 – 17:00 Uhr?


   Ablauf
         Vortrag
         Anwendungsbeispiele


   Fragen
         Immer und jederzeit




Agenda



   Das Konzept
   Grundlegende Beispiele
   Output Objekte
   Der Output Kanal
   Ods Destinations Printer / PDF / RTF
   HTML Ausgabe
   Ods und Graphiken
   Ods Styles
   Ods und Reporting Prozeduren
   Table & Style Templates
   Neues in V9




                                                           2
Literaturhinweise



  Bernadette Johnson: Instant ODS: Style Templates for
  the SAS Output Delivery System (Stand 8.2)

  Lauren Haworth: Output Delivery System: The Basics
  (Stand 9.1.3)

  Sunil Gupta: Quick Results with the Output Delivery
  System (Stand 9.1.3)




Literaturhinweise



   SAS Hilfe
       SAS Products      Base SAS       Output Delivery System


   support.sas.com
       Communities -> Base SAS
           ODS generell: http://support.sas.com/rnd/base/index-ods-
           resources.html
           ODS MARKUP Resources:
           http://support.sas.com/rnd/base/topics/odsmarkup/


   SUGI-Proceedings
       http://support.sas.com/usergroups/sugi/proceedings/




                                                                      3
         Das Konzept




SAS-Output vor ODS



   Zwei Formen
      Listing im Output-Fenster
      Ausgabe-Tabellen

   Nachteile
      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




                                                            4
SAS-Output mit ODS



   WYSIWYG
      Alles was im OUTPUT-Fenster erscheint steht im ODS
      zur Verfügung
      Alle Informationen aller Prozeduren


   Parallelisierung des Output
      Ergebnisse werden an viele Kanäle gleichzeitig geliefert

   Gliederung des Output
      Prozedur-Output wird in Objekte zerlegt
      Zugriff auf jedes einzelne Objekt möglich




ODS Ausgabe-Kanäle



   Listing            Output-Fenster
   Output             SAS-Tabelle
   HTML               Dokument für WWW
   PDF                Dokument für Acrobat Reader
   RTF                Dokument für Textverarbeitung
   Printer            Systemdrucker
   PS                 Postscript
   Tagsets            Markup Languages
                      - CSV
                      - XML
                      - ExcelXP




                                                                 5
Funktionsweise des ODS




                                                  Listing

                            Kanal
                                                SAS-Tabelle
    Daten-
 Komponente             Listing                HTML Dokument
                        Output       Style
                            HTML    Template   RTF Dokument
    Table
                            RTF
   Template
                                               PDF Dokument
                            PDF
 Output-Objekt         PRINTER
                                                 Ausdruck
                             ...

                                                    ...




ODS-Syntax



   Globale Statements
         Voll batch-fähig

   Schalterprinzip
         Kanal wird geöffnet
         Output von Prozeduren/Data Steps
         Kanal wird geschlossen
         Ergebnis ist betrachtbar




                                                               6
Öffnen und Schließen von ODS-Kanälen



   Öffnen eines Kanals
       Ods Kanal;
       Ods Kanal File = „pfad“;
       Ods Kanal output-objekt = SAS-Tabelle;


   Schließen eines Kanals
       Ods Kanal Close;
       Ods _all_ Close;


   Grundprinzip
       Es muss mindestens ein Kanal geöffnet sein
       Ansonsten Warning im LOG-Fenster




          Grundlegende Beispiele




                                                    7
Ods Listing



   Ein-/Ausschalten
       Ods Listing;
       ...
       Ods Listing Close;


   Beispiel01.sas




Ods Html



   Ein-/Ausschalten
       Ods Html File = fileref | „pfad“;
       ...
       Ods Html close;


   Beispiel02.sas




                                           8
Ods Pdf



   Ein-/Ausschalten
          Ods Pdf File = fileref | „pfad“;
          ...
          Ods Pdf Close;


   Beispiel03.sas




Ods Rtf



   Ein-/Ausschalten
          Ods Rtf File = fileref | „pfad“
          ...
          Ods Rtf Close;


   Beispiel04.sas




                                             9
Ods Printer/PS



   Ein-/Ausschalten
       Ods Printer <Display>;
       Ods Ps File = fileref | „pfad“;
       ...
       Ods Printer/Ps Close;


   Beispiel05.sas




Mehrere Kanäle gleichzeitig verwenden



  Unterschiedliche Kanäle
     Ods Pdf File = fileref | „pfad“;
     Ods Html File = fileref | „pfad“;
     ...
     Ods _all_ Close;



  Beispiel06.sas




                                         10
Mehrere Kanäle gleichzeitig verwenden



   Gleiche Kanäle
       Ods Html (id=1) File = fileref | „pfad“;
       Ods Html (id=2) File = fileref | „pfad“;
       ...
       Ods Html (1) Close;
       ...
       Ods Html (2) Close


   Beispiel07.sas




Ods Grundeinstellungen



   Tools -> Options -> Preferences

   Tabber „Results“
       Ods Listing
       Ergebnisse als HTML
       Style = default
       Web-Browser
           Umstellen unter Tabber „Web“
       Direkte Anzeige der Ergebnisse




                                                  11
          Output Objekte




Output Objekte



   Ods teilt Prozedur-Output in Objekte ein
       Jedes Objekt ist identifizierbar
       Jedes Objekt ist einzeln ansprechbar


   Anzahl der Output Objekte ist abhängig von
       Prozedur
       Prozedur-Optionen
       By-Gruppen




                                                12
Output Objekte



   Identifizieren von Output Objekten
       Ods Trace On;
       ...
       Ods Trace Off;

   Inhalt des Trace-Satzes
       Name des Output Objektes
       Label des Output Objektes
       Name des verwendeten Table Templates
       Pfad des Output Objekts

   Beispiel08.sas

   Results-Fenster zeigt Output Objekte an




Auswahl von Output Objekten



  Select-/Exclude-Liste
      Enthält Auswahl von Output Objekten
      Eine globale Liste
      Eine Liste für jeden aktiven Kanal

  Anzeigen der Select-/Exclude-Liste
      Ods <Kanal> Show;
      Dabei muss der Kanal muss aktiv sein

  Beispiel09.sas




                                              13
Auswahl von Output Objekten



   Auswahl von Output Objekten
       Ods <Kanal> Select ods-objekt
                            <ods-objekt ...>;
       Ods <Kanal> Exclude ods-objekt
                             <ods-objekt ...>;
       Ods <Kanal> (Select|Exclude) (All|None);
       Dabei kann ods-objekt sein
           Name aus Trace-Satz
           Pfad aus Trace-Satz
           Label aus Trace-Satz
           Mischung aus Label und Pfad


   Beispiel10.sas




Voreinstellungen der Auswahllisten



   Globale Select-/Exclude-Liste
       Select All


   Alle Bericht-Kanäle
       Select All

   Output-Kanal
       Exclude All

   Beispiel11.sas




                                                  14
Gültigkeitsdauer von Auswahllisten



   Gültigkeitsdauer der Auswahl
       Nachfolgende Prozedur


   Option Persist
       macht Auswahl eines Objektes dauerhaft
       muss mit neuem Statement überschrieben werden
       Ods <Kanal> (Select|Exclude)
           ods-objekt(Persist);
       ...
       Ods <Kanal> Select All;


   Beispiel12.sas




          Output Kanal




                                                       15
Ods Output



   Ein-/Ausschalten
       Ods Output ods-objekt = SAS-Tabelle ...;
       ...
       <Ods Output Close;>


   Beispiel13.sas




Auftrennen in mehrere Tabellen



  Verarbeitung von By-Gruppen
      Standardverhalten:
      alle By-Gruppen in eine Tabelle
      Match_all-Option:

      Ods Output
        ods-objekt(Match_all<=mVar>)= SAS-Tabelle;

      jede By-Gruppe in eigene Tabelle
      automatische Benennung
      mVar enthält Namen der erzeugten Tabellen


  Beispiel14.sas




                                                     16
Verarbeiten mehrerer Prozedurausgaben



   Verarbeiten mehrerer Prozeduren
       Match_all + Persist-Option

       Ods Output
             ods-objekt(Match_all<=mVar
             <Persist=run|proc>>) = SAS-Tabelle;
       ...
       Ods Output Close;

       Erhält Benennungsschema

   Beispiel14a.sas




          ODS Destinations
          Printer / PDF / RTF




                                                   17
Seitenkontrolle



   Grundeinstellung
       Jede Prozedur beginnt neue Seite
       Innerhalb der Prozedur selbst keine Eingriffsmöglichkeit

   Seitenumbrüche steuern
       Startpage-Anweisung
       Ods Kanal Startpage = off;
       Schaltet automatischen Seitenumbruch nach Prozedur aus
       Ods Kanal Startpage = on;
       Schaltet automatischen Seitenumbruch nach Prozedur ein
       Ods Kanal Startpage = now;
       In Verbindung mit Ods Startpage off
       erzwingt Seitenumbruch an bestimmter Stelle


   Beispiel15.sas




Allgemeines Layout



   Optionen für die Seitengestaltung
       Title                              Titel
       Footnote                           Fußnoten
       [no]Center                         linksbündig
       [no]Number                         keine Seitenzahlen
       [no]Date                           kein Datum
       Orientation =
       portrait|landscape                 Hochformat|Querformat
       paperSize = „Iso A4“|(x,y)         Seitengröße
       [left|right|top|
       bottom]Margin = n                  Randeinstellungen

       Funktionieren aber nicht immer mit allen Kanälen...

   Beispiel16.sas




                                                                  18
Titel und Fußnoten



   Title & Footnote
       Ähnlich SAS/GRAPH verwendbar
           Font =                Schriftart
           Height =              Schriftgröße
           Color =               Farbe
           Justification =       Ausrichtung




   Beispiel17.sas




Inhaltsverzeichnis



   Option contents
       Erstellt Inhaltsverzeichnis für PDF / RTF
       In Word
           alles Markieren (Strg + A)
           Felder aktualisieren (F9)




                                                   19
Inline-Formatierung



   Ods Escapechar = „Zeichen“;
   Definiert Zeichen als Beginn einer Escape-Sequenz
   Standard Escape-Sequenzen
       [arg]n                 [arg] Leerzeilen einfügen
       S={}                   Style-Attribute
       {super text}           hochgestellt
       {sub text}             tiefgestellt
       R/[RTF|PDF|HTML]““     Roh-Text für eine Destination



   InlineFormatierung01.sas




Paginierung



   Verschiedene Platzhalter
       {pageof}               page X of Y (nur RTF)
       {thispage}             aktuelle Seitenzahl
       {lastpage}             höchste Seitenzahl




                                                              20
PDF Spezifika



   Notoc                  Kein Inhaltsverzeichnis
   NoPdfNote              Keine Annotations
   Style-Attribut „flyover“ wird in PDF Note umgewandelt
   Columns = n Ausgabe in mehrere Spalten
   Text = „“              Einfügen von Text

   V9
        Compress = [0|9]




RTF Spezifika


   BodyTitle                  Titel im Text
   Author =                   Angabe des Autors
   Title =                    Angabe des Titels
   Columns = n                Ausgabe in mehrere Spalten
   Text = „“                  Einfügen von Text
   RTF-spezifische Felder verwenden
        Title/Footnote beginnt mit „{“, endet mit „}“
        R/RTF „Anweisung“
        {Seite \field{\*\fldinst PAGE }}
   http://support.sas.com/rnd/base/topics/
   templateFAQ/Template_rtf.html
   http://msdn.microsoft.com
        Nach „rtf specification“ suchen

   InlineFormatierung02.sas




                                                           21
           HTML Ausgabe




Ods HTML



   Erstellen ganzer Web-Sites im Batch
      Statische Reports als HTML
      Automatische Erzeugung von Framesets
      Verwendung von Cascading Style Sheets
      „Verlinken“ verschiedener Seiten
      Interaktive Graphiken
      Graphiken mit Hyperlinks
      Aufsplitten der Ergebnisse auf mehrere Dateien




                                                       22
Ods HTML



   Was ist ein Frameset?
      Konzept in HTML
      Zeigt gleichzeitig mehrere HTML-Dateien an
      Unterteilt die Anzeige in verschiedene Bereiche (Frames)


   Mit Ods möglich
         Inhaltsverzeichnis
         Seitenverzeichnis
         Hauptseite




Ods HTML



  Erstellen eines Frameset mit ODS
     Ods Html Path = „verzeichnis“ (Url = none)
              Body = „name1.html“
              Contents = „name2.html“
              Page = „name3.html“
              Frame = „name4.html“;
     Path: Pfad unter dem alle Dateien angelegt werden
     (Url = none): Hyperlinks werden relativ angelegt
     Body: Hauptseite
     Contents: Inhaltsverzeichnis
     Page: Seitenverzeichnis
     Frame: Html-Seite, die den Frameset enthält

  Beispiel18.sas




                                                                 23
Unterstützung von Cascading Style Sheets



  Hintergrund
      HTML: tag-gesteuerte Layoutanweisungen, ASCII
      Dateien sollen möglichst klein sein
      Wie wird Layout definiert?
          Für jedes Element einzeln
          Definition von Klassen (Cascading Style Sheet)


  Verschiedene Möglichkeiten CSS zu verwenden
      Ods Html ... Css;
      eingebettetes Stylesheet
      Ods Html ... Stylesheet = „name.css“;
      CSS wird erstellt
      Ods Html ... Stylesheet = (Url=„“);
      vorhandenes Stylesheet wird benutzt

  Beispiel19.sas




   Aufsplitten des Output
       HTML-Dateien sollten möglichst klein sein
       Grundeinstellung: aller Prozedur-Output landet in einer
       Datei


   NewFile-Option
       Ods Html ... NewFile = Output|Page|Proc;
       Erstellt neue Dateien für
           Jedes Output Objekt
           Jede logische Seite
           Jede Prozedurausgabe


   Beispiel20.sas




                                                                 24
Eingriffsmöglichkeiten in das Inhaltsverzeichnis
   Ods Proclabel „text“;
   Ändert die Hauptüberschrift
   Option Contents = „text“ bei den Prozeduren Print,
   Report und Freq, Tabulate (hier auch als Option im
   Table-Statement)
   Ändert die Unterüberschrift(en)
   Ods Noptitle;
   Unterdrückt den Prozedurspezifischen Titel


Beispiel21.sas




HTML direkt verwenden
   Titel und Fußnoten dürfen HTML-Code enthalten
   1. Zeichen muss „<“ sein!!


Beispiel22.sas

Corporate Design nutzen
   Notop
   Keine HTML-Startsequenz
   Nobot
   Keine HTML-Schlusssequenz

Beispiel23.sas




                                                        25
            Ods und Graphiken




Wie erstellt SAS Grafiken?



   Device-Konzept
       Grafik wird zunächst unabhängig erzeugt
       Anschließend von Device interpretiert
   Problem Schriftarten
       V6
            Device enthält Übersetzungsliste von SAS-spezifischen in
            True Type Font-Namen
       V8
            Bestimmte Devices können TTF-Namen erkennen
            Die vom ODS verwendeten Devices nicht!




                                                                       26
Ods, Grafiken und True Type Fonts in V9



   Free Type Library für Schriftarten
       Werden von ODS-Devices verwendet
       Registrieren von TTF in SAS Registry
         Schriftarten stehen zur Verfügung
           Proc Fontreg
       Kommando REGEDIT
           Core/Printing/Freetype/Fonts
   Unterstützende Devices
       SASEMF, GIF, JPEG, PNG
   Mehr zu diesem Thema:
       TS 674: An Introduction to Exporting SAS/Graph Output
       to Microsoft Office SAS Release 8.2 and higher

   Beispiel24.sas




Grafiken in HTML



    HTML
        Pixel-Graphiken in GIF- bzw. JPEG-Format
        Werden als Referenz in Seite integriert (<Img src=„“>)
        Ods Html Gpath = „verzeichnis“ (Url=none);
        setzt das Verzeichnis, in dem Graphiken gespeichert
        werden

    SAS/GRAPH Treiber
        JPEG
        GIF
            Goptions
             xPixels = n yPixels = n
            [no]Transparency


    Beispiel25.sas




                                                                 27
Spezielle Devices


   Spezielle SAS/GRAPH Treiber
       ActiveX
       Java
       Interaktive Graphiken mit diversen Möglichkeiten wie
           Anzeige von Werten
           Rotieren                    Strg + LMB
           Verschieben                 Alt + LMB
           Zoomen                      Shift + LMB
           Selektion                   Strg + Shift + LMB
           Umstellen des Graphiktyps   Kontextmenü
           ...


   Beispiel26.sas




SAS/GRAPH & ODS Html



   Erweiterung der Graphik-Prozeduren
       Graphiken mit Hyperlinks versehen
       Option Html = variable in den verschiedenen
       Statements

   Schritte zum Erstellen von gelinkten Graphiken
       1. Tabelle mit Drillvariable erzeugen
       variable = „href = name.html“;
       2. Graphik erzeugen
       3. Die Seiten erzeugen, auf die verwiesen wird

   Beispiel27.sas




                                                              28
       ODS Styles




Abstrakte Beschreibung von ODS-Elementen
   Dokument
   Inhaltsverzeichnis
   Tabelle
   Zelle

Layoutangaben
   Farben
   Schriftarten (Größe, Gestaltung)
   Tabellengestaltung (Abstände, Ränder)
   Beschriftung (z.B. des Inhaltsverzeichnisses)

Werden immer verwendet
   HTML -> default
   RTF -> rtf
   PDF -> printer
   PRINTER/PS -> printer




                                                   29
Mitgelieferte Styles
    Default
    D3d
    Brick
    statDoc
    Minimal
    sasWeb
    barrettsBlue
    ...
    Tools -> Options -> Preferences -> Results Tabber

Verwendung von Styles
    Ods Kanal Style = name;

Beispiel28.sas




       ODS und Reporting
       Prozeduren


        Proc Print, Proc Report,
        Proc Tabulate




                                                        30
Neue Style-Option
    Style = {style-anweisung ...};
    Style(element) = {style-anweisung...};
    Überschreibt Layoutanweisungen des gewählten Styles


Style Anweisungen (Auswahl)
    Background =                Farbe
    Foreground =                Farbe
    borderColor =               Farbe
    Schriftart spezifisch
        Font_face=              Schriftart
        Font_size=              Schriftgröße
        Font_weight=            Schrift-Gewichtung (normal/fett)
        Font_style=             Darstellung (italic=kursiv)




Zellenlayout
    Cellheight=             Zellenhöhe
    Cellwidth=              Zellenbreite
    Cellpadding=            Randabstand innerhalb Zelle
    Cellspacing=            Abstand zwischen Zellen
    Just=                   horizontale Ausrichtung
    Vjust=                  vertikale Ausrichtung
Graphische Elemente
    BackgroundImage=        Hintergrundbild
    PreImage=               Bild vor Objekt
    PostImage=              Bild nach Objekt

HTML spezifisch
    PreHtml=
    PostHtml=
    Url=
    Flyover=




                                                                   31
ODS & Proc Print
   Output in Elemente unterteilt
   Jedes Element kann einzeln formatiert werden
   Style-Angaben für
       Gesamt-Tabelle
       Spaltenüberschriften
       Obs-Spalte
       Datenbereich
       Einzelne Spalte
       Einzelne Zelle (Ampel-Funktion)

Beispiel29.sas




ODS & Proc Report
   Globale Angaben als Optionen in Prozeduraufruf
       Header
       Column
   Spaltenbezogene Angaben als Optionen im
   Define-Block
       Header
       Column


Beispiel30.sas




                                                    32
ODS & Proc Tabulate
   Verwenden der Style-Option in verschiedenen
   Statements
   Class
   Classlev
   Var
   Keyword
   Box-Option
   Table-Statement

Beispiel31.sas




      Table & Style Templates




                                                 33
Table Template
   Grund-Layout
   Aufteilung in Spalten
   Spaltenbeschriftung
   Zahlenformatierung
   Kann auch Style-Anweisungen enthalten

Style Template
   Layout der Elemente
   Abhängig vom Kanal




Objekt-orientierter Ansatz

      Default

                 Printer

                                PDF

                                RTF

                             [...]Printer


                                RTF

                 Statdoc

                 D3d,...




                                            34
Verwaltung von Table & Style Templates
   Ods Template Viewer
       Kommando OdsTemplate
       Results-Fenster
   Hierarchische Organisation in MT itemstore
       Defaults: Sashelp.Tmplmst (schreibgeschützt)
Eigene: Sasuser.Templat
   Anlegen eigener itemstores mit Proc Template
   Ods Suchpfad
       Ods Path Show;
       Ods Path libref.itemstore(modus) ...;
       modus = read | update | write




Table Templates verändern
   Beispiel Proc Univariate: Extreme Observations
   Beschriftung eindeutschen
   Wird in Sasuser.Templat gespeichert

Beispiel32.sas




                                                      35
Style Templates anpassen
    Neuen Style ableiten
    Gewünschte Änderungen vornehmen

Aufbau des Styles Default
    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

Beispiel33.sas




Data Step Reporting & Table Templates
    Mit Table Templates Schablonen entwerfen
        Spaltenlayout
        Beschriftung
        Style-Anweisungen
        Ampelfunktion mit Hilfe von
            Cellstyle-Anweisung
            Style-Anweisung + Expression-Funktion
            Style-Anweisung + Format
        Berechnete Spalten
        Verändern von Werten


Beispiel34.sas – Beispiel38.sas




                                                    36
         Neues in V9




Ods Markup



   Neue Destination
   Stellt Event-Modell zur Verfügung




                                       37
   Event = Ereignis
       Start & finish ODER zustandslos
       Mit Trigger event können eigene Events aufgerufen
       werden


   Verhalten in Tagsets zusammengefasst

   Z.B. Tagset Csv

   Tagsets01.sas




Tagsets als Informationsquelle



   Informationen über Style-Elemente anzeigen
       Style_popup
       Style_display
       namedHtml
   Informationen über Events anzeigen
       Event_map

   Volle Freiheit für Benutzer aber hohe Komplexität
   http://support.sas.com/rnd/base/topics/odstagsets/
   Eric Gebhart: MARKUP: The Power of Choice and
   Change. Sugi 27, Advanced Tutorials

   Tagsets02.sas




                                                           38
ODS Tagset ExcelXP



   Export von SAS nach Excel (ab Excel 2002)
   XML nach Microsoft-Standard
   Neueste Version
      http://support.sas.com/rnd/base/
      topics/odsmarkup/




ODS Tagset ExcelXP



   Features
      Benennung der Tabellenblätter
      Je Tabelle ein Tabellenblatt in Excel
         By-Gruppen, Prozedur,…
      Beschriftung als Header/Footer oder im Blatt
      Überschriften (Spalten und Zeilen) fixieren
      Automatische Spaltenfilter
      Formatierung von Zahlenwerten mit Excel-Formaten
      Verwendung von Excel-Formeln




                                                         39
ODS Tagset ExcelXP




   Aufruf
      Ods Tagsets.ExcelXP file=„path" options(optionen);
      …
      Ods Tagsets.ExcelXP Close;
   Dokumentation ist in Style enthalten
      Ods Tagsets.ExcelXP file=„path“ options(doc=„help“);

      ExcelXP001.sas




ODS Tagset ExcelXP



   Steuerung über Optionen
      Bei Öffnen des ODS Kanals
      Vor einer individuellen Tabelle
      options(name=„value“ <name=„value“ …> )
   Ods Tagsets.ExcelXP file=„path„ options(optionen);
   …
   Ods Tagsets.ExcelXP options(optionen);
   …
   Ods Tagsets.ExcelXP Close;




                                                             40
ODS Tagset ExcelXP



   Ausgewählte Optionen
      Seitenausrichtung
      orientation = „portrait“ | landscape
      Größe der Anzeige in Excel
      zoom = „n“

      ExcelXP02.sas




ODS Tagset ExcelXP



     Excel Features
        frozen_headers = „no“ | yes
        frozen_rowHeaders = „no“ | yes
        auto_filter = „none“ | all | column | startCol – endCol
               nur für mehrere aufeinander folgende Spalten


        ExcelXP03.sas




                                                                  41
ODS Tagset ExcelXP



     Formatierung mit Excel-Formaten
        Führende Nullen, feste Nachkommastellen
        Style-Anweisung tagattr=„Excel-Format“
            0    alle signifikanten Ziffern
            #    nichtsignifikante Ziffern
            tagattr=„000.00“ bzw. tagattr=„format:000.00“
            tagattr=„###.###.###.0#“
            tagattr=‚[Red][&lt;=100];[Blue][&gt;100]‘




ODS Tagset ExcelXP




   Excel Formeln verwenden I
       Relative Spalten- und Zeilenbezüge
           R[+/-n]C[+/-n]
           RC[-1]         Wert der direkten linken Spalte
           RC[-2]         Wert der vorletzten Spalte
           R[-1]C[-1]     Wert der oberen linken Zelle
       Alphanumerische Variable bilden
           Länge beachten!
           Var = „=Ausdruck“




                                                            42
ODS Tagset ExcelXP



   Excel Formeln verwenden II
      Style-Anweisung tagattr=„formula:Formel“
      Numerische Variable bilden (var = .)
      !! Englische Excel-Funktionen verwenden !!

      [ExcelXPnn.sas]




Ods Document



   http://support.sas.com/rnd/base/topics/odsdocument/
   Experimentell in V8.2, produktiv in V9
   Speichern und Wiedergeben von Output-Objekten
   Z.B. Ändern der Reihenfolge
   Wird als Membertype Itemstore gespeichert
   Ods Document
          Name = <Lib.>Itemstore(mode);




                                                         43
Proc Document



   Proc Document Name= <Lib.>Itemstore;
     List / Levels = all;
     Replay <object <, object>;
     Make directory;
     Setlabel directory „text“;
     Dir directory | ^^;
     Copy object To ^;
     ...
     Run;
   Quit;

      ^      Dieses Verzeichnis (.)
      ^^     Ein Verzeichnis hoch (..)

   OdsDocument01.sas




   Ods Data Step Object
      Objektorientierte Schnittstelle im Data Step
      Freie Programmierung von Tabellenlayouts


   Ods Layout
      Grafischer Satz von Seiten
      Definitoin von Ausschnitten in die Tabellen/Grafiken
      eingefügt werden




                                                             44
Weitere Fragen oder Anregungen ?
        g.pfister@icasus.de




                                   45