Join Now

Juletip #3: SAS til Excel

by SAS Employee OleSteen on ‎12-02-2015 06:55 PM (723 Views)

Så blev det 3. december - valgdag og tid til 3. juletip.

 

Først et tilbageblik; jeg faldt tilfældigt over lidt nostalgi fra den gang SAS også leverede regneark – se denne flotte præsentation:

http://www.sascommunity.org/sugi/SUGI94/Sugi-94-62%20Boling.pdf

Måske verden dengang var lidt lettere, men mon ikke de fleste af os, måske på trods, nu alligevel er glad for en lidt mere moderne verden :-)

 

I SAS 9.4 er det nu endelig blevet muligt at danne en rigtig Excel­-fil (Excel 2010+)

 

Mulighederne har været i tidligere versioner men aldrig rigtig let at danne den ægte XLSX-fil.

 

I det følgende vises 3 muligheder; alle eksempler bygger på tabellen WORK.CLASS som dannes med programmet CLASS_DATA.SAS
Du finder programmerne i vedhæftet denne beskrivelse.

 

Libname-statement


Libname har i 9.4 fået en ny engine XLSX, som nu gør det muligt at sende data direkte til Excel. Data sendes til Excel uden sasformater og labels.

Programmet LIBNAME_EKSEMPEL.SAS viser dette, og danner en Excel-fil med dette udseende:

 

 Libname_Eksempel.png

 

 

Som det fremgår af ovenstående sendes data til Excel uden labels, ønsker du at sende labels til Excel, skal du bruge en af de næste metoder.


 

PROC EXPORT


PROC EXPORT giver, på samme måde som LIBNAME-statementet en hurtig vej til at overføre data til Excel.

Programmet EXPORT_EKSEMPEL.SAS danner en Excel-fil hvor labels sendes med, og danner dette resultat:

 

Export_Eksempel.png

 

 

OUTPUT DELIVERY SYSTEM (ODS)


ODS har i 9.4 fået en ny ODS-destination EXCEL. Denne destination kan anvendes på lige fod med alle de andre ODS-destinationer, og sender ODS output til en Excel-fil.

Destinationen kan simpelt anvendes med SAS default setup.

Programmet ODS_EKSEMPEL1.SAS viser dette, og danner en Excel-fil med dette udseende:

 

ODS_Eksempel1.png 

  

 

ODS Excel giver imidlertid en lang række muligheder, bl.a. findes der en lang række options som kan anvendes. En oversigt over options findes her: http://support.sas.com/documentation/cdl/en/odsug/67921/HTML/default/viewer.htm#p09n5pw9ol0897n1qe04...

 

Programmet ODS_EKSEMPEL2.SAS viser eksempel på anvendelse af et par options, og danner en Excel-fil med dette udseende:

 

ODS_Eksempel2.png

 

 

Som det fremgår af de 2 tidligere eksempler, føres SAS style med til Excel-filen, og størrelsen på Excelfilen bliver derved noget større da style-elementerne også gemmes i filen.

Style styres standard af en SAS-Style-Template som genereres med PROC TEMPLATE.

 

Det er imidlertid muligt at anvende Cascading-Style-Sheet (CSS) til dette, som for mange er lettere end PROC TEMPLATE.

 

I programmet ODS_EKSEMPEL3.SAS anvendes en ”finte” til at danne en tom CSS-fil, hvorved alle stilelementer slås fra i Excel-filen. Resultatet bliver sådan:

ODS_Eksempel3.png 

Med ODS Excel får du mulighed for at sende formatering af de enkelte celler med i rapporten, og du kan endvidere sende Excel-formler med, hvorved du får Excel-funktionaliteten med direkte fra SAS.

 

I programmet ODS_EKSEMPEL4.SAS anvendes STYLE-elementet i PROC PRINT, hvorved der dannes dette resultat:

 

ODS_Eksempel4.png 

 

Bemærk formler og formatering!

 

Næste eksempel anvender tillige muligheden for at styre stilen på de enkelte elementer vha. STYLE-statementet.

Programmet ODS_EKSEMPEL5.SAS danner Excel-fil med dette indhold:

 

ODS_Eksempel5.png

 

Farvelægning af elementerne kan endvidere også ske med formater, hvorved det bliver muligt at styre farven afhængig af indholdet af den enkelte celle.

 

I programmet ODS_EKSEMPEL6.SAS oprettes et format der i STYLE-statementet gør baggrunden på kønnet RØD for piger og GRØN for drengene, hvorved resultatet bliver dette:

 

ODS_Eksempel6.png

 

 

God fornøjelse med SAS og Excel, og god valgdag.

Attachment