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