SAS für Excel-Anwender
Transcription
SAS für Excel-Anwender
C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 Themen SAS für Excel-Anwender 1. 2. 3. SAS-Treff am URZ 7. Juli 2006 4. 5. Literatur und –hinweise (1) SAS für Excel Anwender. Unterlagen zum Tutorium von Gregor Herrmann, SAS Institute, auf der 10. KSFE 2006 in Hamburg. SAS Server: http://support.sas.com/rnd/base/topics/excel http://support.sas.com/rnd/base/topics/odsmarkup http://support.sas.com/rnd/base/index-odsresources.html http://support.sas.com/rnd/base/topics/odsmarkup/ excel-xp_demo.html Literatur und –hinweise (2) SAS-Treff am URZ Überblick über verschiedene Methoden Unformatierte Methoden (Proc Import, Proc Export, Excel Libname Engine, Ods Csv) Ods Markup Methoden Nutzung des CSS Selektors zur Formatierung von Datumswerten, führenden Nullen und anderen SAS Enterprise Guide SAS Treff am URZ, 13.05.2005, Im- und Export von Excel-Tabellen in SAS http://www.urz.uniheidelberg.de/statistik/kurse/sastreff/ Tipps und Tricks zur 10. KSFE 2006 in Berlin, Zugriff auf Excel und Access Tabellen http://www.urz.uni-heidelberg.de/statistik/sasah/, Kap. 5 DDE und ODBC: SAS Anwenderhandbuch im Netz, http://www.urz.uniheidelberg.de/statistik/sas-ah/, Kap. 1 1 C. Ortseifen: SAS für Excel-Anwender Themen 1. 2. 3. 4. 5. Überblick über verschiedene Methoden Unformatierte Methoden (Proc Import, Proc Export, Excel Libname Engine, Ods Csv) Ods Markup Methoden Nutzung des CSS Selektors zur Formatierung von Datumswerten, führenden Nullen und anderen SAS Enterprise Guide 07. Juli 2006 Art der Ausgabe SAS Datei SAS Prozedur Ausgabe Unformatiert oder Formatiert Unformatierte Methoden Formatierte Ausgaben: mit Schriftarten, Farben, Rahmen etc. Abhängig von Art der Ausgabe für Excel Methoden mit unformatierter Ausgabe: Proc Export SAS Datei oder Proc Printto Prozedur-Ausgabe Ods Csv, Csvall, Csvbyline Datenschritt-Programm Unformatierte Ausgabe SAS Libname Engine für Excel SAS-Treff am URZ 2 C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 Formatierte Methoden Weitere Methoden Markup Methoden (SAS Base): Ods Html SAS ProzedurAusgabe Ods Html3 (SAS 9) Ods MSOffice2K (SAS 9, Off.2000) Ods Tagsets.ExcelXP (SAS 9, Formatierte Ausgabe Office XP und 2003) Weitere SAS Methoden SAS Add-in for Microsoft Office SAS IntrNet Nicht-SAS Methoden zur Erzeugung von unformatierten und formatierten Dateien: DDE (SAS Base) OLE DB ODBC Themen 1. 2. 3. 4. 5. Überblick über verschiedene Methoden Unformatierte Methoden (Proc Import, Proc Export, Excel Libname Engine, Ods Csv) Ods Markup Methoden Nutzung des CSS Selektors zur Formatierung von Datumswerten, führenden Nullen und anderen SAS Enterprise Guide SAS-Treff am URZ Zu DDE und ODBC siehe SAS Anwenderhandbuch im Netz, Kapitel 1, http://www.urz.uni-heidelberg.de/statistik/sas-ah/ Basismethoden für SAS Ausgabe an Excel Erstellung von Dateien, die mit Excel geöffnet werden können: SAS Datei mit SAS Programm erstellen und mit Proc Export (oder Export Wizard) exportieren SAS Libname Engine für Excel SAS Report erstellen, Anpassungen in Excel: Ascii-Files mit Proc Printto oder Ods Listing erstellen und mit Excel öffnen Mit Ods Csv, Csvall, Csvbyline Commaseparierten File erstellen und mit Excel öffnen 3 C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 Prozedur Export Proc Import Eine vorhandene SAS Datei wird in eine Excel Arbeitsmappe exportiert: Verwendung von Optionen zum Import: proc export data=adressen outfile="adressen_exc.xls" dbms=excel2000 replace; sheet="sasads"; run; Ab SAS 9 können auch Dateioptionen verwendet werden. Excel Libname Engine Notwendig: SAS/Access to PC File Formats Erstellen einer Excel Datei aus einer SAS Datei unter Windows: libname exc "adressen.xls" version=2000; data exc.eins; set adressen; klasse=1; where geschlecht="m"; run; libname exc clear; SAS-Treff am URZ proc import out=work.adsimport datafile="adressen.xls" dbms=excel2000 replace; sheet="ads"; getnames=yes; mixed=yes; scantext=yes; run; Optionen der Excel Libname Engine Option Standard Ziel Getnames= Yes Spaltennamen in der ersten Zeile Mixed= No Scantext= Yes Usedate= Yes Alphanumerische und numerische Werte in einer Spalte in alphanumerische konvertieren Scannen der Spalte und längsten Wert als Länge festsetzen Date9. Format für Datums- und Zeitwerte in Excel Arbeitsmappen Version= 97 Version von Microsoft Excel: 2002, 2000, 97, 95 , 5. 4 C. Ortseifen: SAS für Excel-Anwender Erstellen einer .txt Datei ods listing file="adressen_ods.txt"; 07. Juli 2006 Manuelle Konvertierung von Text in Spalten proc print data=adressen; var name alter; run; Daten > Externe Daten importieren > Daten importieren proc freq data=adressen; tables geschlecht; run; ods listing close; Proc Printto erzeugt die gleiche Ausgabe. Erstellen von Excel Dateien mit ODS erstellt von Excel lesbare Dateien, falls die Dateiendung .xls oder .csv ist. Kein natives Excel Format. Diese Dateien werden aufgrund der Registrierung auf PCs standardmäßig mit Excel geöffnet. unterschiedliche Varianten, Html, Csv … SAS-Treff am URZ Ods Csv Tagset der Markup Destination, in SAS 8.2 experimentell, ab SAS 9 produktiv für den unformatierten Datentransfer von SAS nach Excel über die Modifikation des Tagsets beeinflussbar http://support.sas.com: Communities > Base SAS > Ods > Ods Markup > Tagsets to Download 5 C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 Beispiel für Ods Csv Problem ods csv file="adressen.csv"; Werte nicht richtig getrennt, Komma statt Semikolon! Auswege: Entweder 1. Option Delimiter= title "Einsatz von Ods Csv"; proc print data=adressen noobs; var name alter; run; title "Ausgabe der Prozedur Freq"; proc freq data=adressen; tables geschlecht; run; ods csv file="adressen.csv„ options(delimiter=";"); 2. ods csv close; oder Änderung im Template Katalog (Kommando odstemplate, Kopie in Sasuser anlegen, dort ändern Ods Csvall, Ods Csvbyline Themen Ods Csv Ods Csvall Ods Csvbyline 1. gibt nur die Daten aus. liefert alles (Daten, Titel, Byline) liefert Daten und Byline Aber: Der Befehl Ods Csvbyline wird nicht erkannt. Ausweg: 2. 3. 4. ods markup tagset=csvbyline … ; ods tagsets.csvbyline … ; 5. SAS-Treff am URZ Überblick über verschiedene Methoden Unformatierte Methoden (Proc Import, Proc Export, Excel Libname Engine, Ods Csv) Ods Markup Methoden Nutzung des CSS Selektors zur Formatierung von Datumswerten, führenden Nullen und anderen SAS Enterprise Guide 6 C. Ortseifen: SAS für Excel-Anwender Markup Methoden Ods Html Ods Tagsets.Msoffice2k Ods Tagsets.ExcelXp 07. Juli 2006 Was ist Markup? SAS ProzedurAusgabe Formatierte Ausgabe SAS Ausgabe an Excel Ods Methoden Ods Html (SAS 8) oder Ods Html3 (SAS 9) für HTML 3.2 konforme Dateien Ods Html (SAS 9) oder Ods Html4 (SAS 9) für HTML 4.0 konforme Dateien Ods MSOffice2K Tagset für Html-Dateien mit spezifischen Microsoft Office Zeichen (Office 2000) Ods ExcelXP Tagset für XML Dateien mit spezifischen Microsoft Office Zeichen (Office XP, Office 2003) SAS-Treff am URZ Manuelles Markup (Korrektur einer Schülerarbeit): Markieren von Text mit Symbolen. Computer Markup: einem Text oder Inhalt wird eine bestimmte Bedeutung zugefügt; das muss vor der Anwendung geschehen Computer Markup Languages: LaTex, Tex, troff, Html, Dhtml Markup-Dateien sind einfache Textdateien, die mit Texteditoren gelesen werden können (vi, notepad, SAS Enhanced Editor, Emacs). Ods Html3 ods html3 file="toXls_Html3.html" style=sasweb; title 'Erster Report mit Ods Html3'; proc report data=adressen nowd; run; title 'Zum zweiten'; proc report data=adressen nowd; run; ods html3 close; 7 C. Ortseifen: SAS für Excel-Anwender Ergebnis in Excel 1. Zeile ist leer Titel bestimmt die Breite der 1. Spalte Prozedurausgaben in einem Arbeitsblatt. 07. Juli 2006 Ods Html ods html file="toXls_Html.html" style=sasweb; title 'Erster Report mit Ods Html3'; proc report data=adressen nowd; run; title 'Zum zweiten'; proc report data=adressen nowd; run; ods html close; Ergebnis von Ods Html Report beginnt in der 1. Zeile. Excel Dateien mit Ods Html SAS-Treff am URZ Die Dateien sind von Excel lesbar, (aber keine nativen Excel Dateien). Benennt man die Datei mit Endung .xls oder .csv, können sie aufgrund der Registrierung direkt mit Excel geöffnet werden. Vorteil: Formatierung bleibt in Excel erhalten. Nachteil: Dateien können sehr groß werden, die die Formatierungen Bestandteil der Datei sind (Ausweg: Stylesheet-Option). 8 C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 Ods Tagsets.MSOffice2K Ods Tagsets.ExcelXP Datei kann mit Office 2000 und höher geöffnet werden: Datei kann mit Office 2002 und höher geöffnet werden. Datei enthält spezielle Microsoft Spreadsheet Markup konforme Tags. ods tagsets.msoffice2k file="toXls_mso.html„ style=sasweb; title 'Erster Report mit Ods tagsets.msoffice2k'; proc report data=adressen nowd; run; title 'Zum zweiten'; proc report data=adressen nowd; run; ods tagsets.msoffice2k close; ods tagsets.excelxp file="toXls_mso.html„ style=sasweb; ... ods tagsets.excelxp close; Formatierungen aus SAS bleiben erhalten. Jede Prozedurausgabe wird in separatem Arbeitsblatt abgelegt. Themen ODS und Style Spezifikation 1. 2. 3. 4. 5. Überblick über verschiedene Methoden Unformatierte Methoden (Proc Import, Proc Export, Excel Libname Engine, Ods Csv) Ods Markup Methoden Nutzung des CSS Selektors zur Formatierung von Datumswerten, führenden Nullen und anderen SAS Enterprise Guide SAS-Treff am URZ Template Store Graph Templates Table Templates Style Templates Tagset Templates Ergebnis RTF Datei HTML Datei Cascading Style Sheets (CSS) Printer, PDF oder PS Ausgabefenster ODS Style Templates setzen Stil-Eigenschaften für die Ausgabe. CSS nur für HTML. 9 C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 HTML und CSS Dateien Excel-Datei mit Ods Html Zwei Methoden für CSS-Informationen: CSS Information als In-line <Style> Sektion innerhalb der <Head> Sektion der HTML Datei. CSS Information in einer externen Datei und Verweis mit <Link> Tag. ods html file="sasweb.xls" style=sasweb stylesheet="sasweb.css"; proc print data=adressen; run; ods html close; Korrekturen der Zellformatierung Notwendige Schritte Führende Nullen werden weggelassen. Zahlen mit mehr als 11 Zeichen werden in wissenschaftlicher Notation angezeigt. Unformatierte Datumswerte (nicht Date9.) werden falsch übernommen. SAS-Treff am URZ Verständnis von Microsoft Formaten Festlegung des Tagsets Htmlstyle Attribute mit Html- oder MSOffice2k Tagset (für Stil- und Format-Infos) bzw. Tagattr Attribute für ExcelXP Tagsets (für Format-Infos an Excel zu übergeben) Style= Anweisung mit Proc Print, Report oder Tabulate (oder einem eigenen Table oder Style Template) 10 C. Ortseifen: SAS für Excel-Anwender Microsoft Formate Table A-1. Commonly encountered values for mso-numberformat. SAS Data Value mso-number-format 1234567890.1230 \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\.0000 1,234,567,890.1230 \#\,\#\#\#\,\#\#\#\,\#\#\#\.0000 1.234.567.890,1230 \#\.#\#\#\.\#\#\#\.\#\#\#\,0000 $1,234,567,890.30 \$\#\,\#\#\#\,\#\#\#\,\#\#\#\.00 $1.234.567.890,30 \$\#\.\#\#\#\.\#\#\#\.\#\#\#\,00 01340 00000 (919) 677-8000 '\[<=9999999\]\#\#\#\-\#\#\#\#\;\(\#\#\#\\)\ \#\#\#\\-\#\#\#\#' 919-677-8000 \[<=9999999\]\#\#\#\-\#\#\#\#\;\#\#\#\-\#\#\#\\#\#\#\# 919.677.8000 \[<=9999999\]\#\#\#\.\#\#\#\#;\#\#\#\.\#\#\#\.\#\ #\#\# 16/03/02 dd\/mm\/yy 16/03/2002 dd\/mm\/yyyy 16-03-02 dd\-mm\-yy 16-03-2002 dd\-mm\-yyyy 16.03.02 dd\.mm\.yy 07. Juli 2006 Ein Beispiel: MSOffice2K ods tagsets.msoffice2k file="test.html" style=sasweb; proc print data=test; var zahl / style(column)= {HTMLSTYLE="mso-number-format:000"}; var datum / style(column)= {HTMLSTYLE="mso-number-format:dd.mm.yy"}; run; ods tagsets.msoffice2k close; http://www2.sas.com/proceedings/sugi28/052-28.pdf Beispiel: ExcelXP Weitere Beispiele ods tagsets.excelxp file="test_xp.html„ style=sasweb; proc print data=test; var zahl / style(column)={TAGATTR="000"}; var datum / style(column)={TAGATTR="dd.mm.yyyy"}; run; auf dem SAS Webserver oder bei den Unterlagen zum SAS-Treff ods tagsets.excelxp close; SAS-Treff am URZ 11 C. Ortseifen: SAS für Excel-Anwender 07. Juli 2006 Noch Fragen? SAS-Treff am URZ 12