Uni Heidelberg. Zukunft. Seit 1386. Einführung mit der SAS/Enterprise Guide Software - SAS per Mausklick 3-tägiger Blockkurs im SoSe 2009 Universitätsrechenzentrum Heidelberg Dr. Carina Ortseifen & Markus Pauli Zum Kurs • Kurs findet von Mittwoch bis Freitag von 13 bis 17 Uhr im Raum 118 des URZ statt. • Voraussetzung: ◦ gute Windows-Kenntnisse (Umgang mit Ordnern, Drucken am URZ…) ◦ Benutzeridentifikation • Teilnahmebescheinigung ◦ Anwesenheit in Vorlesung und Übungen Einführung 2 Kursunterlagen … sind als PDF-File im WWW abgelegt: URZ-Homepage > Programme > Statistik > Kurse > Unterlagen zu SAS-Kursen Einführung 3 Mitlesen • Tight VNC Viewer öffnen (über Start > Alle Programme) ◦ Server: lehrer ◦ Passwort: *** Einführung 4 Erwartungen Welche Vorkenntnisse haben Sie hinsichtlich SAS und Statistik? Welche Erwartungen haben Sie an diesen Kurs? • Keine Vermittlung von Statistik-Kenntnissen Æ Einführung in die Benutzung des SAS/Enterprise Guide Einführung 5 Kursinhalt Mittwoch (1) Einführung (2) Das Beispiel-Projekt Donnerstag (3) Ein eigenes Projekt erstellen (4) [SAS/Enterprise Guide für Profis] Freitag (5) [Vorsicht – Stolperfallen] (6) Literatur zum SAS/Enterprise Guide Einführung 6 SAS • SAS = Statistical Analysis System • SAS Institute 1976 in USA gegründet • Deutscher Hauptsitz in Heidelberg • Software ◦ Statistische Analysen ◦ Data-Mining ◦ Data-Warehouse ◦ Business-Intelligence… Einführung 7 SAS/Enterprise Guide • Graphische Benutzer-Oberfläche Æ keine Programmier-Kenntnisse erforderlich • Erzeugt SAS Programm Code Einführung 8 SAS/Enterprise Guide oder SPSS • Einsteiger- und Benutzungsfreundlichkeit - mittlerweile vergleichbar • Möglichkeiten der Grafikerstellung - mittlerweile vergleichbar Æ Eigene Vorliebe und die des Betreuers/ Instituts Einführung 9 Zugriff auf Software SAS – & SAS/Enterprise Guide – und SPSS: • Terminalserver – Anleitung unter: ◦ www.urz.uniheidelberg.de/windows/terminalserver.html • Rechner im URZ ◦ SAS: Glaskasten (R 018) & Schulungsraum (R 118) Æ demnächst: in allen vier Arbeitsräumen des URZ ◦ SPSS: in allen vier Arbeitsräumen des URZ • Lizenz für privaten Rechner ◦ SAS: demnächst bei Instituten über die Campus-Lizenz ◦ SPSS: 34 Euro für Jahreslizenz Æ Online-Shop des URZ - https://urz.asknet.de Einführung 10 Vorraussetzungen/ Installation • SAS 9.1.3 mit Service Pack 4 • SAS/Enterprise Guide Software 4.1 mit Hotfix 41EG06 • SAS/Enterprise Guide mit deutscher Sprachkomponente Einführung 11 Vorbereitung (1) Legen Sie sich auf Ihrem persönlichen Laufwerk M: den Ordner saskurs an. (2) Kopieren Sie alle Dateien vom Laufwerk O:\kurs\sas\SAS EG Kurs Einführung in den neu angelegten Ordner saskurs auf Laufwerk M:. Einführung 12 Inhalt Mittwoch (1) Einführung (2) Das Beispiel-Projekt Donnerstag (3) Ein eigenes Projekt erstellen (4) [SAS/Enterprise Guide für Profis] Freitag (5) [Vorsicht – Stolperfallen] (6) Literatur zum SAS/Enterprise Guide Beispiel-Projekt 13 SAS/ EG starten • Starten Sie den SAS/Enterprise Guide über Alle Programme > SAS > Enterprise Guide 4 • Willkommen-Fenster: Vorhandenes Projekt öffnen oder Neues Projekt Æ Jetzt: wegklicken Beispiel-Projekt 14 Fenster Zurücksetzen: Extras > Optionen > Allgemein > Fensterverankerung zurücksetzen Beispiel-Projekt 15 Fenster • Menübar und Toolbar: wie unter Windows • Projekt Designer: beinhaltet den Prozessfluss (= graphische Darstellung des Projekts) • Projekt Explorer: hierarchische Darstellung des Projekts in einer Baumstruktur • Anwendungsroutinen-Liste: sortiert nach Kategorien bzw. alphabetisch • Arbeitsbereich: zeigt in Tabs neben dem ProjectDesigner auch Ergebnisse, SAS Code, etc. an • Anwendungsroutinen-Status-Fenster: Infos über den Status beim Ausführen von Aufgaben Beispiel-Projekt 16 Daten einlesen • Vorhandene Datensätze einlesen ◦ Excel, Access, ... ◦ SAS, SPSS, ... ◦ Text-Files • Datensätze manuell eingeben • Vorhandenes SAS-Projekt öffnen Beispiel-Projekt 17 Projekt öffnen • Öffnen Sie nun das Beispiel-Projekt saseg-projekt.egp im Ordner M:\saskurs über Datei > Öffnen > Projekt > Lokaler Computer Beispiel-Projekt 18 Das Beispiel-Projekt Beispiel-Projekt 19 Bestandteile in unserem Projekt • SAS-Dateien baseball, bloodpressure, class, prdsale - aus dem SAS/EG-Systemordner - • Anwendungsroutinen ◦ Abfrage……………………….. ◦ Listenbericht……………………………………. ◦ Beschreibende Statistik…… • HTML-Ausgabe Beispiel-Projekt 20 Projekte Ein Projekt enthält: ◦ verwendete Datensätze ◦ Anwendungsroutinen ◦ Ergebnisse (als html, rtf, ...) ◦ Programmcode ◦ Protokolle (Log) • Es kann immer nur ein Projekt zur gleichen Zeit geöffnet sein. • Dateinamenserweiterung einer EGProjektdatei: _____.egp Beispiel-Projekt 21 Prozessfluss • Die einzelnen Objekte sind durch Pfeile miteinander verbunden. • Damit wird der Prozessfluss (Ablauf) dargestellt. • Der Ablauf kann zu einem späteren Zeitpunkt wiederholt werden. D.h. die Routinen werden erneut ausgeführt, evtl. auf veränderte Daten. Beispiel-Projekt 22 Arbeitsschritte im Projekt (1) Zugriff auf SAS-Tabelle(n) (2) Auswahl von Anwendungsroutinen (3) a. Abfrage – für Dateibearbeitung b. Listenbericht, Deskriptive Statistik, Balkendiagramme – für Analyse c. … Export der Ergebnisse Beispiel-Projekt 23 SAS Dateien (I) • Öffnen Rechte Maustaste (=RM) Öffnen (oder Doppelklick) auf das Tabellensymbol öffnet die Datei in Tabellenform • Aufbau Die Variablen stehen in den Spalten, die Beobachtungen in den Zeilen. • Eigenschaften Klick auf Spalte und RM Eigenschaften zeigt die Variableneigenschaften an. • Schließen Mit Schließen des Fensters verbleibt die Tabelle im Projekt. Beispiel-Projekt 24 SAS Dateien (II) Im Projekt-Designer RM* auf die Datei: • RM Eigenschaften zeigt deren Eigenschaften (physikalische Pfad, Name der Spalten/Variablen etc.). • RM Löschen entfernt die Datei aus dem Projekt (löscht aber nicht physikalisch von der Platte). • RM Exportieren legt eine Kopie der Datei an. * RM = rechte Maustaste Beispiel-Projekt 25 Anwendungsroutinen • Öffnen RM Öffnen (oder Doppelklick) öffnet das Dialogfenster der Anwendungsroutine • Festlegung der: ◦ Rollen (welche Variable spielt welche) ◦ Optionen/Einstellungen ◦ Titel und Fußzeilen • Ausführen RM … ausführen führt die Anwendungsroutine erneut aus Beispiel-Projekt 26 Abfragen … sind der Dreh- und Angelpunkt der Datenbearbeitung Auswählen Variablen (=Spalten) auswählen, Reihenfolge ändern Filtern Untergruppen auswählen Sortieren Sortierreihenfolge festlegen Neue Spalten bilden (Umkodieren, Neu) Tabellen verknüpfen Beispiel-Projekt 27 Listenbericht Proc Print Beispiel-Projekt • Erzeugen einer präsentablen Tabelle ausgewählter Spalten • Mit passender Beschriftung • In HTML-Format 28 HTML Ausgabe (I) • RM Öffnen (oder Doppelklick) zeigt das Resultat an. • RM Exportieren speichert das Ergebnis in einer externen Datei ab. • RM Senden an verschickt das Ergebnis per Mail oder öffnet das HTML-Dokument mit Word. Beispiel-Projekt 29 HTML Ausgabe (II) HTML ist nicht das einzige Ausgabeformat. Über Extras > Optionen > Ergebnisse > Ergebnisse Allg. kann gewählt werden: ◦ HTML ◦ PDF ◦ RTF ◦ SAS Report ◦ Textausgabe (SAS Listing) Beispiel-Projekt 30 Online Hilfe Hilfe im Enterprise Guide erhält man über: • Hilfe Menü: SAS Enterprise Guide Hilfe Allgemeine Hilfe, zu verschiedenen Themen (erschlossen über Inhalt, Index, Suchen) • Hilfe Menü: Der Einstieg – Online Übung • Hilfe Knöpfe (F1): Kontext-sensitive Hilfe zu Fenstern und Optionen Beispiel-Projekt 31 Zeit für eigene Übungen Beispiel-Projekt 32 Inhalt Mittwoch (1) Einführung (2) Das Beispiel-Projekt Donnerstag (3) Ein eigenes Projekt erstellen (4) [SAS/Enterprise Guide für Profis] Freitag (5) [Vorsicht – Stolperfallen] (6) Literatur zum SAS/Enterprise Guide Eigenes Projekt 33 Eigenes Projekt erstellen Aufgabe 1: • Neues Projekt anlegen unter dem Namen Blumen. • Öffnen der SAS-Datei iris aus dem Ordner M:\saskurs Eigenes Projekt 34 Datei iris Eigenes Projekt 35 Kelch- und Blütenblätter Schematische Darstellung einer Blüte mit oberständigem Fruchtknoten: 1. Blütenboden/Receptaculum 2. Kelchblätter/Sepalen 3. Kronblätter/Petalen 4. Staubblätter/Stamina 5. Fruchtblätter/Karpelle Eigenes Projekt 36 Die Blüte einer Iris (=Schwertlilie) • Drei innere kleinere Kronblätter (Petalen) • Drei äußere Kelchblätter (Sepalen) • Drei Iris-Arten: I. setosa, I. versicolor und I. virginica Von www.botanik.de Eigenes Projekt 37 Einschub: Daten hinzufügen • Bevor eine Liste, eine Grafik oder eine Analyse angezeigt bzw. ausgeführt werden kann, müssen Daten dem Projekt hinzu gefügt werden. • Sind die Daten bereits elektronisch verfügbar: Datei > Öffnen > Daten … Existieren die Daten nur auf Papier: Datei > Neu > Daten (nur bedingt brauchbar) Eigenes Projekt 38 Einschub: Datei > Öffnen > Daten… • Frage: Wo liegen die Daten? a. In einem Ordner des lokalen Computers: M:\saskurs\tabelle1.sas7bdat O:\Kurs\SAS\SAS EG Kurs Einführung\blutbild.xls b. SAS-Server: Bibliotheksname.Dateiname Eigenes Projekt 39 Einschub: Beispieldaten • Von SAS Institute zur Verfügung gestellte: C:\Programme\SAS\ Enterprise Guide 4\Sample\Data • Vom URZ zur Verfügung gestellte: O:\KURS\SAS\SAS EG Kurs Einführung (O: ist ein Laufwerk, das auf den Ordner Apps auf dem Server netfile1.ad.uni-heidelberg.de „gemappt“ ist. Eventuell lesen Sie nur: apps auf "netfile1.ad.uni-heidelberg.de" (O:) Eigenes Projekt 40 a) Datei > Öffnen > Daten… • Windowstypische Auswahl einer Datei Eigenes Projekt 41 b) Datei > Öffnen > Daten… • Der SAS-Server ist am URZ auch der lokale Rechner, aber es wird mit SAS-Mitteln (=Bibliotheken) auf die Datei zugegriffen. (Kap.4) Eigenes Projekt 42 Einschub: Daten hinzufügen (II) • Die Datentabelle wird nicht in das Projekt hineinkopiert, sondern es wird nur eine Verknüpfung zur Tabelle angelegt. • Dateityp im Fall a) ist standardmäßig: SAS Andere Dateitypen: Excel, MS Access, ... • Klickt man die gewünschte Tabelle an und OK, wird diese an das Projekt angefügt und in einem Datenfenster geöffnet. (Strg-Taste, um mehrere Dateien zu markieren) • Das Öffnen der ersten Tabelle dauert eine Weile ... Eigenes Projekt 43 Einschub: Datenfenster • Zeile: Fall, Beobachtung • Spalte: Merkmal, Variable (Text-, num.) • Variablen-name -wert Eigenes Projekt 44 Einschub: SAS-Tabellen • bestehen aus Spalten und Zeilen. • sind rechteckige Tabellen mit Text- und/oder numerischen Werten. • Jede Zelle ist ausgefüllt. • Fehlende Werte sind gültige Werte. • Textwerten: Leerzeichen • numerische Werte: Punkt • Dateierweiterungen: .sas7bdat, .sd7, .sd2 Eigenes Projekt 45 Einschub: Tabellen löschen • Schließt man das Datenfenster, bleibt die Verknüpfung zwischen Projekt und Tabelle dennoch bestehen. D.h. die Tabelle wird nicht aus dem Projekt gelöscht. • Erst mit RM Löschen (oder X) wird die Verbindung zur Tabelle gelöscht. • Physikalisch existiert die Tabelle jedoch weiterhin. Eigenes Projekt 46 Einschub: Projekt speichern • Datei > Projekt speichern unter • Projekte werden als Dateien mit der Erweiterung *.egp abgelegt. Eigenes Projekt 47 Einschub: Tabellen ändern • Um einzelne Werte zu ändern, muss vom geschützten Standardmodus (Protected, Read-only) in den ungeschützten Modus gewechselt werden: Daten > Schreibgeschützt • Nun können einzelne Werte, aber auch die Spalteneigenschaften geändert werden. Eigenes Projekt 48 Einschub: Aber Vorsicht! • Die meisten Änderungen können nicht (!!!) rückgängig gemacht werden. Und: Es gibt kein „Speichern unter …“. • Daher: Sichern Sie Ihre Daten entweder - außerhalb vom SAS-System oder - mittels Exportieren bevor (!!!) Sie Änderungen vornehmen. Eigenes Projekt 49 Zurück zu: Iris – Experiment von Fisher • Länge (L) und Breite (W) von je 50 Blüten(Sepal) und Kelchblätter (Petal) von 3 Iris-Arten Aufgabe 2: a. Berechnung der Fläche von Blüten- und Kelchblättern (annäherungsweise!) b. Sortieren der Beobachtungen nach der Blütenblatt-Fläche c. Ausgabe von Fläche und Iris-Art der sortierten Beobachtungen in einer Tabelle (Listenbericht) Eigenes Projekt 50 Einschub: Anwendungsroutinen • Die Anwendungsroutine bezieht sich auf die gerade aktuelle Tabelle. (Die Assistenten fragen nochmals explizit.) • Zur Auswahl einer Anwendungsroutine gibt es die folgenden drei Möglichkeiten: 1. Menü (Daten, Beschreiben, Grafiken …) 2. Anwendungsroutinenliste a) Anwendungsroutinen nach Kategorie b) Anwendungsroutinen nach Namen Eigenes Projekt 51 Einschub: Eine Liste erstellen (I) • Beschreiben > Listenbericht … • Festlegung der Rollen (welche Variablen werden aufgeführt, sortiert nach …) Eigenes Projekt 52 Einschub: Eine Liste erstellen (II) • Speichern, legt die Anwendungsroutine mit den Einstellungen im Projekt ab. Will man sie später ausführen: RM Listenbericht > ausführen • Um das SAS Programm hinter der Anwendungsroutine zu sehen, wählt man Codevorschau. Eigenes Projekt 53 Aufgabe 3: Deskriptive Statistik a. Ermitteln Sie die wichtigsten Kennwerte (Beschreibende Statistik) für die Einzelwerte und die Flächen. b. Ermitteln Sie die wichtigsten Kennwerte (Beschreibende Statistik) für die Einzelwerte und die Flächen getrennt für die drei Iris-Arten. Eigenes Projekt 54 Aufgabe 4: Grafik • Stellen Sie die mittleren Werte für die drei Iris-Arten einer Messgröße (etwa Länge der Kelchblätter) in einem Balkendiagramm dar. Tipp: Verwendung von Grafik > Assistenten > Balkendiagramm und danach öffnen der erweiterten Ansicht. Eigenes Projekt 55 Aufgabe 5: Varianzanalyse • Rechnen Sie eine einfache Varianzanalyse (Analysieren > Anova > Einfache Anova), um Ihre Hypothese statistisch zu sichern. Eigenes Projekt 56 Zeit für eigene Übungen Eigenes Projekt 57 Inhalt Mittwoch (1) Einführung (2) Das Beispiel-Projekt Donnerstag (3) Ein eigenes Projekt erstellen (4) [SAS/Enterprise Guide für Profis] Freitag (5) [Vorsicht – Stolperfallen] (6) Literatur zum SAS/Enterprise Guide Für Profis 58 4. SAS/Enterprise Guide für Profis 1. Wie greife ich auf externe Dateien (wie z.B. Excel) zu? 2. Analyse und Grafiken – Export als RTF 3. Dreh- und Angelpunkt des SAS/EG: Abfragen 4. Eigene Bibliotheken 5. Formate – Datumsangaben, eigene Formate 6. SAS-Programmcode 7. HTML-Export 8. Notizen 9. Auswahllisten mit Makrovariablen festlegen Für Profis 59 4.1 Externe Daten öffnen Excel, ACCESS, Textdateien u.a.m. 1. Datei > Öffnen (Dateityp wählen) entweder a) Lesezugriff z.B. auf Excel oder b) Konvertierung in SAS-Tabelle und Nutzung eines Import-Assistenten 2. Datei > Daten importieren Konvertierung in SAS-Tabelle und Nutzung des Import-Assistenten (identisch zu 1.b) Für Profis 60 Beispiel für 1.a Nur Lesezugriff: Microsoft Excel-Dateien (*.xls) Datei > Öffnen > Daten: Von meinem Computer MS Excel MS Access dBASE Lotus Textfiles Dateitypen: werden an der Dateinamenserweiterung erkannt. Für Profis 61 Microsoft Excel-Tabellen • Aktuelle Excel 2003- und ältere Versionen • Auswahl des Tabellenblatts (bei Excel 5 u. h.) • Erweiterung .xls Beispiel: artikel.xls Für Profis 62 Probleme mit Excel-Tabellen • Datenblatt: Formeln, Grafiken und Tabellen • Daten sind nur im Lesezugriff verfügbar (Schreibschutz lässt sich nicht entfernen). D.h. Analysen sind möglich, Änderungen erst nachdem die Datei als SAS-Tabelle gespeichert (exportiert) wurde. • Office 2007 Für Profis 63 1.b Excel-Tab. als SAS-Datei öffnen • Werden die Daten nicht richtig aus Excel übernommen oder möchte man die Daten bearbeiten, empfiehlt sich der Import, d.h. die 2. Möglichkeit (oder Daten > Daten importieren…): • Klicken Sie dazu hier zum Öffnen des ImportAssistenten. Für Profis 64 Vorsicht • Hier gibt es Probleme, wenn das Dezimaltrennzeichen in SAS und Excel unterschiedlich definiert ist. (Beispiel: iris.xls) Für Profis 65 Weiteres Beispiel für 1.b: Textfiles • Mit jedem Editor lesbare ASCII-Dateien • Werte zu einem Fall stehen in einer Datenzeile • Werte zu einem Fall sind mit einem eindeutigen Trennzeichen (z.B. Semikolon) getrennt (oder stehen in festen Spalten) Für Profis 66 Textfiles • Beispiel: M:\SASKURS\sportler.txt einlesen geführt mit Hilfe des Import-Assistenten: • Datei > Öffnen > Daten: Von meinem Computer Dateityp Textdateien (*.txt) (alternativ Datei > Daten importieren) Für Profis 67 Zeit für eigene Übungen oder Vorbereitung für spätere Aufgaben: • Kopieren der Dateien auf Laufwerk M: und Öffnen der beiden Excel-Tabellen kuehlschrank.xls und schule.xls in ein neues SAS-Projekt Für Profis 68 4.2 Analyse und Grafiken • Ordinal- und intervallskalierte Variablen: ◦ Beschreiben > Beschreibende Statistiken … ◦ Beschreiben > Zusammenfassungstabellen … ◦ Beschreiben > Verteilungsanalyse … ◦ Analysieren > Multivariat > Korrelationen … • Nominalskalierte Variablen: ◦ Beschreiben > Einfache Häufigkeiten … ◦ Beschreiben > Tabellenanalyse … Für Profis 69 Assistenten … (1) … für Beschreibende Statistiken und (2) … für Zusammenfassungstabellen • erfassen in vier Schritten die zu erfragenden Werte und Einstellungen • gibt es auch für drei Grafiktypen (Grafiken > …) Für Profis 70 Daten charakterisieren Häufigkeiten und Kennwerte aller Variablen Für Profis 71 Grafiken • Neben den bisher erwähnten Grafikmöglichkeiten gibt es einen eigenen Menü-Zweig Grafiken. • Hier werden mehr Möglichkeiten zur Gestaltung der Grafiken gegeben. • Das Menü Grafiken zeigt die möglichen Grafiktypen (Balken-, Kreis-, Streu-, Liniendiagramme, Landkarten ...) auf, die Assistenten helfen am Anfang. Für Profis 72 Export im RTF Format • Die einzelnen HTML-Ergebnisse können mit RM Senden an > Microsoft Word nach Word exportiert werden. • Ein besseres Ergebnis erzielt man allerdings, wenn man anstelle von HTML-Dokumenten die Ergebnisse im RTF-Format ablegt: Extras > Optionen: Ergebnisse > Ergebnisse Allg. > Abschnitt Ergebnisformate. Für Profis 73 Export - Ergebnisformate Für Profis 74 Im Projekt-Explorer • Die RTF-Ausgabe wird anstelle (oder neben) der HTML-Ausgabe angezeigt. • Über RM Exportieren > RTF - … exportieren kann das Ergebnis außerhalb von SAS abgespeichert werden. Für Profis 75 Einstellungen des EG Styles • HTML-Ausgaben werden standardmäßig mit dem Style EG Default angezeigt. • Diese Einstellung kann entweder von Ergebnis zu Ergebnis neu eingestellt werden – im Explorer RM Eigenschaften oder über den Stil-Manager modifiziert werden: Extras > Stil-Manager. Für Profis 76 Stil-Manager Für Profis 77 Zeit für eigene Übungen oder Aufgaben 4 und 5 Für Profis 78 4.3 Aktionen über Abfragen (Daten > Filter und Abfrage …): • Variablen auswählen, eventuell Reihenfolge der Variablen vertauschen • Filtern (Untergruppenbildung) • Datei sortieren • Umkodieren, Klassenbildung (Berechnete Spalten, Neu, Spalte umkodieren …) • Tabellen verknüpfen • Makrovariablen definieren • … Für Profis 79 Reihenfolge der Variablen vertauschen • Daten > Filter und Abfrage … Register Auswählen • Variable anklicken und über die Buttons Nach unten/Nach oben die gewünschte Position wählen Für Profis 80 Filtern • Nur die ausgewählten Fälle werden in die Abfrage übernommen. • Beispiele für Bedingungen: blume = 1 alter not > 29 • Operatoren eq (=), lt (<), gt (>), le (<=), ge (>=), and, or, not, between, not missing ... • Typ: Wert, Spaltenname, Parameter Für Profis name="Hans" 81 Filter bearbeiten und kombinieren Für Profis 82 Neue Variablen erzeugen • Als Abfrage, jederzeit wiederholbar: Daten > Filter und Abfrage …, Feld Berechnete Spalten und Button Neu und Ausdruck erstellen • Direkte Methode, ohne Umkehr oder Wiederholung (ohne Abfrage): Im Datenfenster über RM Spalte einfügen und Feld Ausdruck – Nicht zu empfehlen! Für Profis 83 Berechnete Spalten Für Profis 84 Neu > • Spalte umkodieren Ersetzung von alten Werten (oder Wertebereichen) durch neue Werte/-bereiche • Ausdruck erstellen Berechnung neuer Werte aus alten Werten oder Eingabe eines konstanten Wertes, Variablennamens … Für Profis 85 Spalte umkodieren • Neuer Spaltenname • Hinzufügen • Werte abrufen Für Profis 86 Ausdruck erstellen • Text kann fix sein (1, "M") oder Variablenname Für Profis 87 Funktionen (I) • Rechnen: +, -, *, /, ** • Logische Verknüpfungen: OR, AND, NOT • Kategorien: ◦ Arithmetische Funktionen ◦ Text- (Character) Funktionen ◦ Datums- und Uhrzeitfunktionen ◦ Deskriptive Statistikfunktionen ◦ Zufallszahlenfunktionen ◦ ... Für Profis 88 Funktionen (II) Für Profis 89 Arithmetische Funktionen ABS Absolutbetrag vom Argument MOD Rest beim Teilen von Argument 1 durch Argument 2 SIGN Vorzeichen vom Argument SQRT Quadratwurzel aus Argument YEAR Jahreszahl einer Datumsangabe Für Profis 90 Textfunktionen UPCASE / LOWCASE Umsetzung in Großbzw. Kleinbuchstaben TRIM Entfernung von nachfolgenden Leerzeichen (Blanks) SUBSTR Entnahme von Zeichen aus einer Zeichenkette LENGTH Länge des Arguments SCAN entnimmt x-tes Wort aus Text INDEX sucht bestimmte Position in Text Für Profis 91 Beispiele • Für Pro gram mie rer !!! Initialen aus Vorname und Name cat( substr(vorname,1,1), substr(name,1,1) ) • Textdatum in ‚richtiges‘ Datum verwandeln mdy(input(substr(textdatum,4,2),2.), input(substr(textdatum,1,2),2.), input(substr(textdatum,7,4),4.) ) Für Profis 92 Beispiele: Berechnung des Alters • Hinweis dazu im Internet, auf dem SAS Server unter http://support.sas.com/ • Samples and SAS Notes – Suche nach „calculation person age“ findet: „Accurately Calculating Age with Only One Line of Code“ [07.05.2009] Für Profis 93 Bedingte Zuweisungen • Funktionen-Kategorie Bedingung (Conditional) erlaubt eine Wenn/Dann-Formulierung mittels Case/When: • Beispiel: Iris-Tabelle, CASE {short} Case When sl>5 then ´gross´ Else ´klein´ End Weitere Beispiele in der Online Hilfe. Für Profis 94 Zusammengefasste Daten (I) • Daten auswählen und Spalte Zusammenfassung • Beispiel: Neben der Variable wird deren Mittelwert dargestellt • Über Gruppen bearbeiten können Gruppen definiert werden und die Zusammenfassung getrennt für die Gruppen erfolgen. Für Profis 95 Zusammengefasste Daten (II) Für Profis 96 Tabellen verknüpfen • Untereinander (Set) Daten > Tabelle anhängen Proc Sql, Outer Union Corr (dateia + dateia2) • Nebeneinander (Merge) Daten > Filter und Abfrage …, Feld Join Proc Sql, Inner/Left/Right/Full Join (dateia + dateib) Für Profis 97 Übung 1. Im Ordner M:\SASKURS finden Sie die SAS-Tabellen dateiA, dateiB und dateiC. 2. Hängen Sie die Tabelle dateiC an die Tabelle dateiA an. 3. Verknüpfen Sie nebeneinander Tabelle dateiA mit dateiB. 4. Was passiert im Fall Full Outer Join (= alle Zeilen aus beiden Tabellen)? Für Profis 98 Full Outer Join hat ein Problem • Die SAS EG Software fügt bei Daten > Filter und Abfrage…: Join zwei Variablen für die Verknüpfungsvariable ein (name und name1). • Eine dieser beiden Variablen kann bis auf den Fall, dass alle Zeilen aus den Tabellen verwendet werden sollen (Full Outer Join), einfach gelöscht werden. Für Profis 99 Full Outer Join (2) • Beim Full Outer Join jedoch enthalten beide Variablen Name und Name1 notwendige Werte. • Ausweg: Funktion Coalesce ◦ Coalesce(dateia.name,dateib.name) und ◦ Deselektion der Variablen name und name1 Für Profis 100 Abfrage-Ergebnisse • Die Ergebnisse von Abfragen sind standardmäßig (Default) SAS-Tabellen. Create Table ... As ... • Alternativ kann auch erzeugt werden: ◦ Datenansicht (Create View) ◦ Bericht (HTML, Sql ohne Create) • Und zwar über das Feld Optionen oder: Extras > Optionen > Abfragen Für Profis 101 Abfragen speichern • Änderungen an Originaldateien ändern nicht automatisch die Ergebnisse von Abfragen. • Die Abfrage lassen sich allerdings später nochmals ausführen. • Abfragen können auch als Programmcode abgespeichert werden: Dazu im Projektfenster die Abfrage aktivieren und RM Als Codevorlage hinzufügen. Für Profis 102 Konvertierung von Textvariablen ... • … in numerische Variablen (oder umgekehrt) • Im Datenblatt über RM Eigenschaften • (Einzig die Variablenlänge kann nachträglich nicht verändert werden. In diesem Fall muss eine neue Variable angelegt werden.) Für Profis 103 Zeit für eigene Übungen oder Aufgaben 1-3 Für Profis 104 4.4 Bibliotheken • SAS Windows-Tabellen liegen physikalisch in Ordnern. • Zum Öffnen der Tabelle greift man auf die Datei direkt mit Windows-Mitteln zu oder verwendet eine SAS Bibliothek. • Standardmäßig gibt es die Bibliotheken Work, Sasuser, Maps, Sashelp und Local. • Über Extras > Bibliothek zuweisen können eigene SAS-Bibliotheken eingerichtet werden. Für Profis 105 Bibliotheken (II) • SAS/EG verwendet beim Öffnen von Tabellen über Datei > Öffnen interne Bibliotheksnamen, eclib000, eclib001 … • Die Libname-Anweisung für verwendete SASTabellen erhält man durch Ziehen der Tabelle in ein editierbares Code-Fenster. Für Profis 106 4.5 Darstellungsformen - Formate • Formate für die Darstellung von Werten oder die Art, wie sie eingelesen werden sollen. • Beispiel Die Zahl 12345.6789 kann die folgenden Formen haben: 12345,6789 12.345,6789 12,345.68 1.23456789E5 Für Profis 107 Formate (II) • Je nach Variablentyp kann zwischen verschiedenen SAS-Formaten gewählt werden. • SAS unterscheidet dabei zwischen ◦ Formaten für Text- bzw. für numerische Variablen ◦ Einlese- bzw Ausgabeformaten • Formate enthalten immer einen Punkt (am Ende oder zum Abtrennen von Dezimalstellen). Für Profis 108 Text- und numerische Formate Für Profis 109 Beispiele für Formate Numerische Variablen • w.d: Standardformat (w Ziffern, d Dezimalstell.) 123.45 (w=6, d=2: 6.2) • COMMAw.d: Kommas innerhalb der Zahl 1,234.56 (comma8.2) • COMMAXw.d: Dezimaltrennzeichen ist Komma 1.234,56 (commax8.2) Textvariablen • $w.: Standardformat Für Profis 110 Anwendung für Formate: Datumsangaben • Datumsangaben sind numerische Variablen mit besonderem Format. • SAS speichert die Anzahl der Tage, die seit dem 1.1.1960 vergangen sind und zeigt sie im vorher definierten Format an. • Für die Eingabe von Datumsangaben ist das Einleseformat (Informat) wichtig. Für Profis 111 Datumsvariable: Beispiel • 17.04.2008 Format: ddmmyy10. dd=Tag, mm=Monat, yy=Jahr, 10.=10 Stellen, das Jahr ist vierstellig • 17.04.08 Format: ddmmyy8. (Jahr ist zweistellig.) Für Profis 112 Filtern mit Datumsvariablen • Soll nach einem Datum bedingt werden, z.B. alle Kinder, die nach dem 1.1.1980 geboren sind, muss das U.S.-amerikanische Format DDMMMYY: "01JAN1980"D oder eine SAS-Funktion verwendet werden: MDY(01,01,1980) Für Profis 113 Eigene Formate erstellen • Beispiele ◦ Geschlecht: kodiert mit 1/2, 1=weiblich, 2=männlich ◦ Ja/Nein-Variablen: kodiert mit 0/1, 0=Nein, 1=Ja ◦ Städtenamen: HD=Heidelberg, KA=Karlsruhe, MA=Mannheim • Mit Daten > Format erstellen • Formate benötigen einen Namen. • Formate können temporär oder permanent gespeichert werden in Bibliotheken. Für Profis 114 Daten > Format erstellen (I) Name Typ Speicher -ort Für Profis 115 Daten > Format erstellen (II) Für Profis 116 4.6 SAS-Programmcode • Zu jeder Anwendungsroutine wird der verwendete SAS-Code im Projekt-Explorer angezeigt. • Der Programmcode kann kopiert, modifiziert und dann ausgeführt werden (dazu RM Öffnen und Editierversuch unternehmen). • Den gesamten Code eines Projektes erhält man mit: Datei > Exportieren > Gesamten Code exportieren Für Profis 117 Noch mehr Programmcode • Im Programmcode stehen gewöhnlich nicht alle Anweisungen drin, erst wenn man unter Extras > Optionen > Anwendungsroutinen > Anw.-routinen Allg. Gesamten generierten SAS-Code in Ausgabe anzeigen aktiviert. Für Profis 118 Der Datenschritt • Der Datenschritt ist komplett durch die Prozedur SQL ersetzt worden. (Im Code-Fenster sind diese natürlich weiterhin möglich.) • Menüpunkt: Daten > Filter und Abfrage … Für Profis 119 4.7 Ein HTML-Dokument erstellen • Veröffentlichung von Ergebnissen im Internet/Intranet • Extras > HTML-Dokument erstellen Für Profis 120 Ein Dokument erstellen (II) 1. Namen für das Dokument vergeben 2. Hinzu. anklicken (oder Auswahlpfeil) 3. Ergebnisse auswählen 4. Mit Vorschau das vorläufige Ergebnis betrachten. 5. Evtl. noch Dokumentstil und Inhaltsverzeichnis auswählen 6. OK drücken 7. Im Projekt-Explorer: RM Exportieren > Dokument exportieren Für Profis 121 4.8 Notizen = Anmerkungen zum Projekt • Menüpunkt: Datei > Neu > Notiz • Notizen helfen den Überblick zu bewahren und Informationen zu speichern, wenn bspw. mehrere Personen am gleichen Projekt arbeiten • Notizen können über Menü Datei gedruckt werden (Einrichtung der Seite und Seitenansicht) sowie als Textdatei (*.txt) exportiert werden Für Profis 122 4.9 Makrovariablen nutzen • Im Projekt Blumen sollen für der Anwender für das Balkendiagramm eine Variablenliste zur Auswahl erhalten. 1) Extras > Parameter-Manager > Hinzufügen (Datentyp Variablenname) 2) Im Balkendiagramm im Rollenfenster die Messgröße durch Makrovariable ersetzen. Für Profis 123 Inhalt Mittwoch (1) Einführung (2) Das Beispiel-Projekt Donnerstag (3) Ein eigenes Projekt erstellen (4) [SAS/Enterprise Guide für Profis] Freitag (5) [Vorsicht – Stolperfallen] (6) Literatur zum SAS/Enterprise Guide Stolperfallen 124 5. Stolperfallen • Übertragung von Projekten • Andere Einstellungen (Optionen) gegenüber SAS 9.1.3 • Das Verhalten ist nicht immer Windows-like • Nicht alles (aus SAS 9.1.3) ist machbar. Stolperfallen 125 Projekte übertragen … … in neuen Ordner/auf anderen Rechner • Projekt enthält nur den Link zur SAS-Tabelle. • Änderung des Pfades durch: Anklicken der Tabelle im Projektfenster RM Eigenschaften Dateiname: ….. Ändern Stolperfallen 126 Andere Einstellungen – Beispiel Variablennamen • Im Enterprise Guide sind alle Namen bis 32 Zeichen Länge erlaubt. • Praktisch kann es aber mit Sonderzeichen in Variablennamen (wie z.B. Leerzeichen, Umlaute, ?) bei der Weiterverwendung des SAS Code in anderen Umgebungen Probleme geben (Option validvarname=). Daher besser: • Nur Buchstaben von A-Z, Zahlen, _ verwenden! Stolperfallen 127 Andere Einstellungen – Ursache • Im SAS/EG gilt: Validvarname=Any • Damit sind die Variablennamen Alter? Wütend gültig. • Für SAS 9 gilt: Validvarname=V7. Stolperfallen 128 Andere Einstellungen – Auswege • SAS Notes SN-012607: In SAS 9 ebenfalls mit der ValidvarnameEinstellung Any arbeiten. oder • Über Extras > Optionen > SAS-Programme > Zusätzlicher SAS-Code > Eigenen SAS-Code vor ausgeführten Code einfügen die Anweisung Options setzen. Stolperfallen 129 SAS/EG nicht immer Windows gemäß • SAS/EG verhält sich nicht immer so, wie man es von Windows-Programmen gewohnt ist: Beispiel: Datei > Speichern unter gibt es nicht. • Änderungen an SAS-Tabellen sind sofort physikalisch wirksam. Auch das Rückgängigmachen von Änderungen an Datenwerten ist nicht möglich. Stolperfallen 130 Nicht alles ist machbar! • Manche SAS-Fenster lassen sich nicht aus dem Code-Fenster öffnen. Beispiel: Proc Fsedit • Mit Option Data= wird Proc Fsbrowse ausgeführt, mit Option New= erscheint: ERROR: Terminal does not have full screen capabilities. Stolperfallen 131 Inhalt Mittwoch (1) Einführung (2) Das Beispiel-Projekt Donnerstag (3) Ein eigenes Projekt erstellen (4) [SAS/Enterprise Guide für Profis] Freitag (5) [Vorsicht – Stolperfallen] (6) Literatur zum SAS/Enterprise Guide Literatur 132 6. Literatur zur SAS/Enterprise Guide Software • S.J. Slaughter, L.D.Delwiche: The Little SAS Book for Enterprise Guide 4.1. Cary, NC: SAS Institute, 2006. (€ 52,00) • C. Ortseifen, K. Kuzhel: Einführung mit der SAS/Enterprise Guide Software 4.1 http://www.urz.uni-heidelberg.de/statistik/ kurse_eg-selbstudium.html • Neil Constable: SAS Programming for Enterprise Guide Users. Cary, NC: SAS Institute, 2007. (€ 52,00) Literatur 133 Weitere Informationen • • • • Statistikseiten am URZ Heidelberg http://www.urz.uni-heidelberg.de/statistik/ SAS-Anwenderhandbuch im Netz http://www.urz.uni-heidelberg.de/statistik/sas-ah Diskussionslisten SAS-INFOS und SAS-EDU http://listserv.uni-heidelberg.de SAS WWW Server http://www.sas.com http://support.sas.com Literatur 134 Noch Fragen ? 135 Wie geht‘s weiter ? 136 Ausblick • Sie sind zufrieden mit dem Gehörten? Üben noch etwas und wenden den SAS/EG an. • Oder: Sie wollen mehr lernen in Kursen: ◦ SAS-Treff am URZ ◦ Einführung in die SAS-Programmierung ◦ Kurse bei SAS Institute (Academic Club) • Oder als Hiwi am URZ, an der Uni (Aushänge), Mitarbeit bei Consulting Firmen … 137