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 Project- Designer 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 EG- Projektdatei:.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 a. Abfrage für Dateibearbeitung b. Listenbericht, Deskriptive Statistik, Balkendiagramme für Analyse c. (3) 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: Ausführen Rollen (welche Variable spielt welche) Optionen/Einstellungen Titel und Fußzeilen 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 Erzeugen einer präsentablen Tabelle ausgewählter Spalten Mit passender Beschriftung In HTML-Format Beispiel-Projekt 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 Import- Assistenten. 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 name="hans" Operatoren eq (=), lt (<), gt (>), le (<=), ge (>=), and, or, not, between, not missing... Typ: Wert, Spaltenname, Parameter Für Profis 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 SQRT YEAR Vorzeichen vom Argument Quadratwurzel aus Argument Jahreszahl einer Datumsangabe Für Profis 90
Textfunktionen UPCASE / LOWCASE TRIM SUBSTR LENGTH SCAN INDEX Umsetzung in Großbzw. Kleinbuchstaben Entfernung von nachfolgenden Leerzeichen (Blanks) Entnahme von Zeichen aus einer Zeichenkette Länge des Arguments entnimmt x-tes Wort aus Text sucht bestimmte Position in Text Für Profis 91
Beispiele Für Programmierer!!! 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 SAS- Tabellen 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 gültig. Alter? Wütend Für SAS 9 gilt: Validvarname=V7. Stolperfallen 128
Andere Einstellungen Auswege SAS Notes SN-012607: In SAS 9 ebenfalls mit der Validvarname- Einstellung 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