H.-P. Altenburg (DKFZ, Heidelberg): Individuelle Einrichtung von SAS auf dem PC Hans-Peter Altenburg Deutsches Krebsforschungszentrum Heidelberg Inhalt: Aufbau von SAS (Display-Manager, Menüleiste, etc. ) Verzeichnisstruktur auf der Festplatte Files autoexec.sas config.sas Icon-Verknüpfung LIBNAME-Statement System-Optionen: OPTIONS / TITLE Tastaturbelegung / Funktionstasten Einrichten von Formaten Format-Bibliothek(en) automatische Macro-Einbindung Tips und Tricks brennende Fragen...? Aufbau von SAS: Display-Managersystem Menüleiste Bearbeiten der Fensterinhalte Ausführung von bestimmten Aktionen Fenster für eigentliche Programmierung und Auswertung drei Arten von Fenstern: Programmfenster (PGM, F5) Protokoll-Fenster (LOG, F6) Ausgabefenster (OUT, F7) Problem: Anwender arbeitet mit SAS in mehreren Projekten: normale Datenanalysen in Standardprojekten spezielles Projekt: Ernährungsstudie (EPIC) Teilprojekt: Lungen-Karzinom (Lung-Ca)! Verzeichnisstruktur auf dem PC: verschiedene Pfade für unterschiedliche Projekte auf unterschiedlichen Rechnern im Netz, z.b.: E:\epic\ Ernährungs-Projekt T:\umwelt\ Umwelt-Projekt F:\lungCa\ Lungen-Ca-Projekt D:\sasdat\p\ Standard-SAS D:\sasdat\m\ (lokaler PC) z.b. pro Projekt: ein eigener individueller Icon, mit speziellen autoexec.sas- bzw. config.sas-dateien Datendateien, Programmdateien, Tastaturbelegung, Macro-Verzeichnis, 1
H.-P. Altenburg (DKFZ, Heidelberg): Verzeichnisstruktur auf dem PC: Standardsituation: Verzeichnisstruktur für das Projekt EPIC: Projekt bezogen: D:\sasdat\bsp\ D:\sasdat\dat\ D:\sasdat\datold\ D:\sasdat\m\ D:\sasdat\p\ D:\sasdat\Uezeit\ D:\sasdat\ D:\sasdat\: bsp dat datold m p E:\epic\datraw\ E:\epic\dat\ E:\epic\formats\ E:\epic\m\ E:\epic\p\ E:\epic\out\ E:\epic\ E:\epic: datraw dat formats m p Verzeichnisstruktur für das Projekt Lung-Ca: Projekt bezogen: F:\lungCa\formats\ F:\lungCa\datraw\ F:\lungCa\dat\ F:\lungCa\m\ F:\lungCa\p\ F:lungCa\out\ F:\lungCa\docs\ F:\lungCa: formats datraw dat m p Konfigurationsdatei autoexec.sas enthält Anweisungen und Systemoptionen, die zu Beginn jeder SAS-Sitzung ausgeführt und festgelegt werden. Beispiel für die Datei autoexec.sas: Datei autoexec.sas für die EPIC-Studie: 7KLV LV 7+( $872(;(&6$6 ILOH LQ 'LU '?VDVGDW ),/(1$0( UOLQNVDVURRW?VDVOLQN?WVRVFUm /,%1$0( GLVNY $ /,%1$0( EVS Y '?VDVGDW?EVS /,%1$0( GDW Y '?VDVGDW?GDW? 237,216 SDJHVL]H OLQHVL]H QRQXPEHU QRGDWH QRFHQWHU SUREVLJ LQFOXGH '?VDVGDW?P?PJRSWPDF '0 3*0 =220 21 7,7/( 7KLV LV 7+( $872(;(&6$6 ILOH LQ 'LU '?HSLF ),/(1$0( UOLQNVDVURRW?VDVOLQN?WVRVFUm /,%1$0( GDWUDZ Y m(?hslf?gdwudz /,%1$0( GDW Y m(?hslf?gdw? 237,216 SDJHVL]H OLQHVL]H QRQXPEHU GDWH QRFHQWHU SUREVLJ LQFOXGH '?VDVGDW?P?PJRSWPDF '0 3*0 =220 21 7,7/(m(3,&6WXGLH 3URMHNW )HWW! (QHUJLHDXIQDKPH 2
H.-P. Altenburg (DKFZ, Heidelberg): Datei autoexec.sas für die Lungen-Ca-Studie: 7KLV LV 7+( $872(;(&6$6 ILOH LQ 'LU '?OXQJFD ),/(1$0( UOLQNVDVURRW?VDVOLQN?WVRVFUm /,%1$0( GDWUDZ Y '?VDVGDW?GDWUDZ /,%1$0( GE Y '?VDVGDW?GDW? 237,216 SDJHVL]H OLQHVL]H QRQXPEHU GDWH FHQWHU SUREVLJ LQFOXGH '?VDVGDW?P?PJRSWPDF '0 3*0 =220 21 7,7/(m/XQJHQ.DU]LQRP3URMHNW 7HVW'DWHQ Konfigurationsdatei config.sas enthält SAS-spezifische Systemoptionen, zur Steuerung der SAS-Sitzung. Achtung: Hier sollten individuelle Änderungen nur vorsichtig und an besonders markierten Stellen vorgenommen werden! Beispiel für die Datei config.sas: 6$65227 3$7+ VHWWLQJ 6(7 6$65227 &?SURJUDPPH?VDV 6HW VHDUFK SDWK IRU KRVW GOOV SDWKGOO VDVURRW?FRUH?VDVGOO VHW WKH GHIDXOW VL]H RI PHPRU\ WR XVH IRU VRUWLQJ VRUWVL]H P VHW FDWDORJ FDFKH FDWFDFKH 6HWXS WKH GHIDXOW 6$6 6\VWHP XVHU SURILOH GLUHFWRU\ VDVXVHU '?VDVXVHU? 6HWXS WKH GHIDXOW 6$6 6\VWHP XVHU ZRUN GLUHFWRU\ ZRUN '?VDVZRUN? VHW WKH GHIDXOW ILOHUHI IRU WKH 3$50&$5'6 RSWLRQ 6(7 )7) )7)'$7 VHW WKH GHIDXOW VLWH LQIRUPDWLRQ ILOH 6,7(,1)2 VDVURRW?FRUH?VDVLQVW?VLWHLQIRW[W SASUSER-Verzeichnis: enthält Info s zum System, Tastaturbelegung (Datei profile.sc2) etc. WORK-Verzeichnis: enthält alle temporären SAS-Dateien Datei config.sas für die EPIC-Studie: Datei config.sas für die Lungen-Ca-Studie: 6$65227 3$7+ VHWWLQJ 6(7 6$65227 &?SURJUDPPH?VDV 6HW VHDUFK SDWK IRU KRVW GOOV 6$65227 3$7+ VHWWLQJ 6(7 6$65227 &?SURJUDPPH?VDV 6HW VHDUFK SDWK IRU KRVW GOOV SDWKGOO VDVURRW?FRUH?VDVGOO SDWKGOO VDVURRW?FRUH?VDVGOO VHW WKH GHIDXOW VL]H RI PHPRU\ WR XVH IRU VRUWLQJ VRUWVL]H P VHW FDWDORJ FDFKH FDWFDFKH 6HWXS WKH GHIDXOW 6$6 6\VWHP XVHU SURILOH GLUHFWRU\ VDVXVHU (?HSLF?VDVXVHU? 6HWXS WKH GHIDXOW 6$6 6\VWHP XVHU ZRUN GLUHFWRU\ ZRUN '?VDVZRUN? VHW WKH GHIDXOW ILOHUHI IRU WKH 3$50&$5'6 RSWLRQ 6(7 )7) )7)'$7 VHW WKH GHIDXOW VLWH LQIRUPDWLRQ ILOH 6,7(,1)2 VDVURRW?FRUH?VDVLQVW?VLWHLQIRW[W VHW WKH GHIDXOW VL]H RI PHPRU\ WR XVH IRU VRUWLQJ VRUWVL]H P VHW FDWDORJ FDFKH FDWFDFKH 6HWXS WKH GHIDXOW 6$6 6\VWHP XVHU SURILOH GLUHFWRU\ VDVXVHU )?OXQJFD?VDVXVHU? 6HWXS WKH GHIDXOW 6$6 6\VWHP XVHU ZRUN GLUHFWRU\ ZRUN '?VDVZRUN? VHW WKH GHIDXOW ILOHUHI IRU WKH 3$50&$5'6 RSWLRQ 6(7 )7) )7)'$7 VHW WKH GHIDXOW VLWH LQIRUPDWLRQ ILOH 6,7(,1)2 VDVURRW?FRUH?VDVLQVW?VLWHLQIRW[W 3
H.-P. Altenburg (DKFZ, Heidelberg): Verknüpfung von autoexec.sas config.sas mit dem Aufruf: Eintrag als Option (in den Eigenschaften des Aufrufs, vgl. Abb. Ziel ) mit den Schlüsselworten -config...pfad...\config.sas -autoexec...pfad...\autoexec.sas beide Dateien ins Arbeitsverzeichnis ablegen (Verzeichnis unter Ausführen in in der Verknüpfung, vgl. Abb.) LIBNAME-Statement Einrichtung von dauerhaften Bibliotheken: Syntax: /,%1$0( QDPH HQJLQH m3idgm RSWLRQ QDPH Bibliotheksname HQJLQH Bezeichnung für Zugriff auf bestimmte Dateitypen Beispiele für HQJLQH: Y Y Y EDVH ;SRUW 6366 Option: $&&(66 5($'21/< Beispiele für das LIBNAME-Statement: /,%1$0( GDW m'?vdvgdw?g?m /,%1$0( GDWROG Y m'?vdvgdw?grog?m /,%1$0( G Y Y m'?vdvgdw?grm /,%1$0( GDW Y m'?vdvgdw?gdwhq?m /,%1$0( HSLF Y m(?hslf?gdwhq?m Es können allerdings nur SAS-Dateien in den angegebenen Verzeichnissen angesprochen werden! Beispiel für das LIBNAME-Statement in Verbindung mit einer Datei: /,%1$0( GDW m7?+3$?vdvgdw?g?m /,%1$0( QHX m'?vdvgdw?gqhx?m '$7$ QHXWHVW 6(7 GDWVWXGLH 4
H.-P. Altenburg (DKFZ, Heidelberg): LIBNAME-Statement: Vorteil: (1) Kann im autoexec.sas angegeben werden. (2) Kann in den Programmablauf eingebunden werden. Nachteil: Es können keine Unterverzeichnisse neu geschaffen werden werden. LIBNAME-Kommando in einer SAS-Sitzung: (LIBNAME-Fenster) LIBNAME-Verknüpfung im Dialog Vorteil: Es können auch neue Unterverzeichnisse angelegt werden. Nachteil: Verknüpfung geht mit dem Ende der SAS-Sitzung verloren. System-Optionen: Ein- / Ausschalter für bestimmte (System-) Einstellungen Steuerung der Optionen über OPTIONS-Statement, oder OPTIONS-Fenster (237,216-Kommando) System-Optionen: z.b. &(17(5 _ 12&(17(5 Ausgabe zentriert / nicht zentriert '$7( _ 12'$7( Datum im Titel / kein Datum 180%(5 _ 12180%(5 Seitennumerierung /,1(6,=( _ Seite: Anzahl Spalten in der Ausgabe 3$*(6,=( _ Seite: Anzahl Zeilen in der Ausgabe (Vorgabe ist der jew. definierte Standarddrucker!) 127( _ 12127( Systemmeldungen Titelüberschriften und Fußnoten: 7,7/(Q m... Titeltext... m )227127(Q m... Fußnotentext... m <= Q <= max. zehn Titel oder Fußnoten! Tastaturbelegung / Funktionstasten: individuelle Belegung der Funktionstasten F1, F2,F3,... Kommando.(< (<6 (F9) Vorsicht: Einige Tasten sind durch Windows bereits festgelegt und können in SAS nicht verändert werden! abspeichern mit 6$9( Wird abgespeichert in die Datei SASUSER.PROFILE.DMKEYS.KEYS 5
H.-P. Altenburg (DKFZ, Heidelberg): Standardbelegung: ) KHOS ) UHVKRZ ) HQG JVXEPLW EXIIHU GHIDXOW ) UHFDOO ) SJP ) ORJ ) RXWSXW ) ]RRP RIIVXEPLW ) NH\V ) FRPPDQG EDU ) FOHDU WH[W Modifizierte Tastaturbelegung: ) KHOS ) UHVKRZ ) ]RRP ) UHFDOO ) SJP ) ORJ ) RXWSXW ) ]RRP RIIVXEPLW ) NH\V ) FRPPDQG EDU ) FOHDU SJP ORJ RXWSXW UHFDOO 6+) ) ailohm 6+) ) alqfoxghm 6+) ) 6+) ) 6+) ) OHIW 6+) ) ULJKW 6+) ) EDFNZDUG 6+) ) IRUZDUG 6+) ) EDFNZDUG KDOI 6+) ) IRUZDUG KDOI &7/ ) &7/ ) &7/ ) &7/ ) &7/ ) SUYFPG $/7 ) ILOH'?VDVGDW?RXWW[W $/7 ) SJPFOHDULQFOXGH'?VDVGDW?RXWW[W ]RRP RQ Vorsicht: Nicht alle Kommandos können in allen drei Fenstern (PGM LOG OUT) benutzt werden! Nur das Programmfenster (PGM) ist vollständig editierbar. Weitere nützliche Anweisungen: Format-Statement: Funktion Zuweisung von Wertetiketten für Variablenausprägungen kann sowohl im DATA-Step als auch im Prozedurschritt geschehen. Beispiel: Variable Geschlecht (gender) Ausprägungen: 1/2 männlich / weiblich FORMAT-Verknüpfung im SAS-Programm: 352& )250$7 9$/8( VH[I m0dqqm m)udxm '$7$ GDWHL,1387 JHQGHU )250$7 JHQGHU VH[I &$5'6 6
H.-P. Altenburg (DKFZ, Heidelberg): FORMAT-Verknüpfung im SAS-Programm: Vorsicht bei permanenten Dateien: Die Formate, die verknüpft werden sollen, sollten stets auch in permanenten Formatbibliotheken abgelegt sein! Permanente Format-Bibliothek(en): Standardformatbibliothek, stets abgespeichert in einer Datei mit dem Namen )250$76VF. Verknüpfung über /,%1$0(: /,%1$0( OLEUDU\ m'?vdvgdw?irupdwhm 352& )250$7 /,% OLEUDU\ 9$/8( VH[I m0dqqm m)udxm 9$/8( VH[I m)udxm m0dqqm Weitere FORMAT-Bibliotheken zur Verfügung stellen: System-Option )076($5&+. Formate definieren und in Formatdatei in einem beliebiges Verzeichnis abspeichern: /,%1$0( HSLFIPW m(?hslf?irupdwvm 352& )250$7 /,% HSLFIPW 9$/8( OXQJI mqr OXQJ &Dm moxqj &Dm 27+(5 m m für die Lung Ca Formate dto.... Formate verwenden: automatischer Suchpfad: /,%1$0( OLEUDU\ m.?vdvipwvm Option )076($5&+ für beliebige, auch mehrere Suchpfade (z.b. im autoexec.sas): /,%1$0( OXQJIPW m)?oxqj?irupdwvm /,%1$0( HSLFIPW m(?hslf?irupdwvm 237,216 )076($5&+ OXQJIPW HSLFIPW Weitere im autoexec.sas u.u. sinnvolle Statements SAS-Macro: Daten- bzw. Prozedurschritte werden in einer eigenen Routine zusammengefaßt. Beispiel: 0$&52 XHVLFKWYDU GVHW 352& )5(4 '$7$ GVHW 7$%/(6 YDU 123(5&(17 0(1' Aufruf: XHVLFKWVH[WHVW erzeugt für die Variable VH[ aus der Datei WHVW eine Häufigkeitsliste. 7
H.-P. Altenburg (DKFZ, Heidelberg): Macro-Einbindung: mit Hilfe von %include (individuell für jedes Macro und SAS-Programm), z.b. LQFOXGH m'?vdvgdw?p?xhvlfkwpdfm Vorteil: beliebiger Name/Endung automatisch mit den Optionen 0$8726285&( und 6$6$8726 m'?vdvgdw?p?m Automatische Macro-Einbindung: 6$6$8726 m' m'?8,8/,9?p?m darf auch noch weitere Pfadangaben enthalten! z.b.: 6$6$8726 m'?vdvgdw?p?m m)? OXQJ&D?P?m?m m'? HSLF?P?m Vorsicht: Die Macros müssen als Datei XHVLFKWVDV im Verzeichnis '?VDVGDW?P? vorhanden sein. Macro-Name und Dateiname müssen stets identisch sein, Macro-Name: uesicht Dateiname: uesicht.sas Mehr Tips und Tricks im SAS-Anwender-Handbuch im Netz (SAS-Ah): URL: http://www.urz.uni-heidelberg.de/statistik/sas-ah/ Noch Fragen? 8