Anders Milhøj. Hurtigt i gang med statistiske og økonometriske procedurer i SAS



Relaterede dokumenter
Anders Milhøj. Hurtigt i gang med statistiske og økonometriske procedurer i SAS

Hurtigt i gang med SAS University Edition Anders Milhøj

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows.

Indhold. Jennie Mathiasen. Google Drev

ASB signatur. Figur a: eksempel. og hent filen asb_signatur.zip.

Arbejd videre med statistik

Tegneserien - Kom godt i gang. Mikro Værkstedet A/S

Installationen af Designskabelonerne gøres ved at installere henholdsvis et lille program samt en række skrifttyper som bruges af skabelonerne.

Hvordan starter man ActivBoard op og tilslutter PC mv... 3 Hvordan tilslutter jeg min bærbare PC til ActivBoard?... 4

Vejledning, teknik, tips and tricks

Modul 2 - Computerens drev og tekstbehandling. Computerens netværksdrev og mappen dokumenter

Kort intro til SAS. Efterår Janne Petersen Judith L Jacobsen Lene Theil Skovgaard

Brugervejledning til Avery Wizard for Microsoft Office. Dansk version til -

Table of Contents. konverter fil til PDF... 3 Konverter Wordfil til PDF... 4 Konvertere Pages fil til PDF (mac)... 8.

Hvorfor SAS Kort intro til SAS

Skifte til PowerPoint 2010

Moderne SAS-programmering på webben med SAS Studio. Georg Morsing SAS Institute

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober Jonas Christiansen Voss

Revo Uninstaller Pro en guide. Hanne B. Stegemüller 17. juni 2015

Picto Selector. Lav dine egne flotte symbolark på den nemme måde. Version: Oktober 2012

Sektornet VPN Installationsvejledning Windows Vista/7

Velkommen til Stifikseren!

18/ Version 2.0 Side 1 af 36

Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem

Manual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune

Langeskov IT Online Backup Guide

3. Menuen Start -> Programs -> OpenVPN åbnes, og "My Certificate Wizard" vælges:

WEB-DIRECT Brugerguide Eksportfunktion i WEB-DIRECT

Vejledning Uniconta. 1 Indhold. 7. oktober finsit Vejledning

Vejledning til opbygning af hjemmesider

WELLPLOT VER. 3 BRUGERMANUAL

Startvejledning. Microsoft OneNote 2013 ser anderledes ud end tidligere versioner, så vi har lavet denne guide for at gøre din læreproces nemmere.

Streame fra Winamp til Dreambox/pc på netværk.

VEJLEDNING I DOWNLOAD I ANALYSEPORTAL 9.2

Skifte til OneNote 2010

MountainSite Guide: Kom godt i gang

portal.microsoftonline.com

VUC IT Niveau G. Drev Mapper Filer

Startvejledning. Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere.

Kom godt igang med Inventar registrering

Annemette Søgaard Hansen/

MICROSOFT ONLINE KURSER

Sikkerhedskopiering. Sikkerhedskopiering til harddisk.

Vejledning til Teknisk opsætning

Daglig brug af JitBesked 2.0

Sådan installeres og teste WordPress på en lokal server

Vejledning til Kilometer Registrering

09/ Version 1.4 Side 1 af 37

Google Apps. Lær at oprette, organisere, dele og slette dokumenter. Udarbejdet af PLC, version 2013!!!!!!! Side 1 af 9

Introduktion til redigeringsfaciliteterne

Rapport generator til Microsoft C5

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion

Excel tutorial om indekstal og samfundsfag 2008

Login-tiden, Første gang tager det måske 1 ½ - 2 min. Andet gang ½ - 1 ½ min...9

Indstillinger. 1. Built-in viewer 2. Built-in viewer embedded 3. Ekstern viewer

Velkommen til IT for let øvede

I denne manual kan du finde en hurtig introduktion til hvordan du:

Sådan kommer du i gang med SAS Systemet

Kom godt igang med Inventar registrering

Kom godt i gang med I-bogen

Navigationsrude Tryk på Ctrl+F for at få vist navigationsruden. Du kan omorganisere et dokument ved at trække dokumentets overskrift i denne rude.

Dit personlige SkoleKom

UC Syddanmark

vejman.dk Brugerdokumentation - kortmodul 14. marts 2012 Version 1.9

Vejledning i redigering af apotekets hjemmeside

Coloris. Programmet fungere på den måde at man vælger det billede man ønsker at arbejde med ved at klikke på det under menupunktet Projekter.

Velkommen til IT for let øvede

Elektronisk spørgeskema Vejledning

Opsætning af MobilePBX med Kalenderdatabase

SÅDAN BRUGER DU REGNEARK INTRODUKTION

Velkommen til OPEN Storage

Åbn Paint, som er et lille tegne- og billedbehandlingsprogram der findes under Programmer i mappen Tilbehør. Åbn også Word.

Modul 16, Word 5 Felter, tabeller og breve

Seniorklubben TDC Jylland Cloud Computing Kursus 2011_5: Rev

IT håndbog for Bygaden (elev) Indhold

Word-1: Tag fat på Microsoft Word (XP)

Brug af Office365 med Onedrive, nyeste Officepakke mv

PID2000 Archive Service

Filupload LEJERBO.DK FILARKIV UNDER MØDER OSV. Upload filer til et eksisterende filupload-komponent

Få det bedste fra Windows 10

ASB signatur. ASB signatur. Vejledning til opsætning af signatur IKT - Februar 2008

IDAP manual Emission

Hvordan bruger jeg WebMail?

elib Aleph, ver.18 Introduktion til GUI FUJITSU SERVICES A/S

Vejledning til udtræk fra UNIK (Version: UNIK Bolig 4)

Introduktion til Indholdsredigering

Redigering af Nyheder

Billedbehandling Pixlr.com Side 1

02101 Indledende Programmering Introduktion til Eclipse

November SSZ brugervejledning

Kom i gang med DANBRO

Brugervejledning - til internetbaseret datakommunikation med Nets ved hjælp af HTTP/S-løsningen

xgalleri Mulige filtyper Installation web-version

Skifte til Excel 2010

Opret ODBC datakilde Vejledning

Acronis et stærkt værktøj til backup. Af Hanne B. Stegemüller 6. juni 2015

Indhold. 1. Adgang og afslutning

Easy Guide i GallupPC

5.0 Velkommen til manualen for kanalen HTML-grab Introduktion til kanalen HTML-grab kanalside Hvad er et spot?

Vejledning til udtræk fra UNIK (Version: UNIK Bolig 4)

Transkript:

Anders Milhøj Hurtigt i gang med statistiske og økonometriske procedurer i SAS Foråret 2015 Denne note omhandler, hvordan man kan komme i gang med statistiske øg økonometriske analyser ved hjælp af de mange procedurer i SAS uden at kende mere end højst nødvendigt til SAS's database- og programmeringsfaciliteter. Udgangspunktet er, at analytikeren får et datasæt og eventuelt et formatbibliotek stukket i hånden - og hvad så? Noten tænkt som en kort introduktion i SAS for deltagere i statistikkurser, hvor der anvendes SAS, og hvor deltagere uden forhåndskendskab ønsker en let introduktion. I noten omtales "Kode-SAS" og Enterprise Guide", mens og "SAS-Studio" herunder den spritnye web-applikation "SAS-U", som er designet til undervisningsbrug, behandles i en separat note. Med noten følger små datasæt og et formatkatalog i mange versioner. Indhold SAS-versioner, der anvendes foråret 2015... 2 Start af Kode-SAS... 2 Biblioteksstrukturen... 4 Tilordning af et fast bibliotek... 5 Et programeksempel i Kode-SAS... 7 Import/Eksport af data fra Excel, Stata, SPSS etc.... 9 Formatkataloger i Kode-SAS... 10 Eksempel på anvendelse af formatbiblioteker... 11 Versionsproblemer... 14 Datasæt i forskellige SAS-versioner... 14 SAS datasæt - 32/64 bits maskiner... 14 SAS formater - 32/64 bits maskiner... 14 Danske bogstaver på SAS-grafik... 15 Output i word format... 15 Grafikoutput fra statistikprocedurer... 15 Enterprise Guide som programeditor... 17 1

SAS-versioner, der anvendes foråret 2015 I juni 2013 blev SAS version 9.3 installeret i politstudiets maskiner på Peter Bangsvej. I IT-lokalerne på CSS er der nu installeret 9.4. I øjeblikket bør SAS 9.4 installeres. Bemærk at denne nyeste version i en udgave til 32 bits og til 64 bits maskiner, så der skal vælges den rigtige. Mange vil have version 9.3 installeret fra tidligere kurser. Ældre versioner end 9.3 må antages udgået på nuværende tidspunkt i universitetsverdenen, men anvendes stadig ude i det virkelige liv. Version 9.3 kan bruges overalt i undervisningen et års tid år endnu. SAS kan tilgås på mange måder. I denne note omtales "Kode-SAS" og " Enterprise Guide". Der er udarbejdet en supplerende note, der omhandler "SAS-Studio" og "SAS-U". De statistiske procedurer kodes på præcis samme måde i disse forskellige grænseflader, men data tilgås på lidt forskellig måde og programmerne afvikles også lidt forskelligt. Til sidst i noten findes en del vigtige oplysninger om de problemer, der kan opstå i grænsefladerne mellem forskellige SAS versioner og 32/64 bits maskiner. Start af Kode-SAS Ved en ny SAS installation skal man finde SAS-programmet i listen over alle programmer ved at klikke på Windows-ikonet i nederste venstre hjørne på skærmen. I listen over programmer skal man så selvfølgelig finde SAS og blandt de mange muligheder, der melder sig, når der klikkes på programmet SAS, skal man vælge SAS 9.3(English). Det skal for de fleste selvfølgelig være SAS 9.4, men fremgangsmåden er den samme. Sproget kan være angivet som "Danish" og ikke "English", men det gør vist ingen forskel. Når SAS-sessionen er startet vises SAS-vinduet på følgende måde 2

Her vises tre vinduer. Nederst er Editor vinduet, hvor SAS koden skal skrives eller hentes ind. Når koden er skrevet kan den afvikles ved klik på den løbende mand eller ved tryk på genvejstasten F8. Øverst i det samlede SAS vindue er Log vinduet, hvor diverse meddelelser om afvikling af programmet vises, fx er det her der skal ledes efter fejlmeddelelser, når noget går galt. På et faneblad for neden ses outputvinduet. Det er dog tomt, når der endnu ikke er genereret output. Grafisk output dannes i separate vinduer, når det bliver aktuelt. Til venstre er det høje slanke "Contents of SAS Enviroment", hvor ikonet "Libraries" på det det synlige faneblad Explorer behandles i afsnittet om biblioteksstrukturen, da det viser, hvor de forskellige datasæt ligger. Fanebladet Results vil, efterhånden som der genereres output i SAS sessionen, indeholde en indholdsfortegnelse over de frembragte outputelementer. Gemte SAS-programmer hentes ind i editoren ved hjælp af den sædvanlige mulighed for at åbne filer, dokumenter etc i Windows, dvs ved at klikke på det lille ikon til åbne filer Derved åbnes en sædvanlig Windows dialogboks hvor mappen og det ønskede SAS-program kan findes. Bemærk at SAS-programmer har filtypen sas som standard extension. 3

Biblioteksstrukturen I SAS er datasæt (og visse andre objekter) organiseret i biblioteker (library på engelsk). På Edb-maskinen svarer disse biblioteker til mapper i et Windows filsystem, til arealer på virksomheders fællesdrev eller til eksterne harddiske som fx USB sticks. I større sammenhænge kan det være magnetbånd eller andet. Ideen er, at SAS er ligeglad med den fysiske placering, blot SAS ved, at et biblioteksnavn svarer til en konkret fysisk placering. Det samme SAS program kan afvikles på studentens egen PC, på kærestens PC, på universitets PC-ere eller på PC'erne på studiejobbet ud fra data på en USB stick, blot ved at ændre en enkelt linie i SAS koden, om hvor den fysiske placering af data er. SAS's datasæt er i et filformat med filtypen SAS7BDAT. I det følgende betragtes et datasæt med navnet "karakterer", dvs en fil med navnet karakterer.sas7bdat, og det beskrives, hvorledes det kan anvendes fra et bibliotek med navnet "hurtigt", som anvendes igennem denne note. En mulighed er at tilføje en linie til SAS programmet med en libname ordre - altså angive et library name. Hvis datafilen ligger på en USB stick, der er tilordnet PC-en med bogstavet G (Det hitter man ud af ved at se i Windows "Denne Computer" ) skal man skrive libname hurtigt 'G:\'; husk semikolon til sidst. Imellem apostroferne kan mere specifikke stinavne anføres. Hvis filen er lagret på harddisken, bliver stinavnet langt med angivelse af bruger osv, fx libname hurtigt 'C:\Users\USIAM\Documents\AndersG2\Hurtigt i gang'; Stinavnet finder man ved hjælp af Windows stifinder, hvorefter det er enkelt at copy-paste den lange sti ind i SAS programmet. I Log-vinduet anføres, om det er gået efter hensigten 4

En anden måde er at tilordne biblioteksnavnet permanent, hvilket jo især er en god idé, hvis man arbejder meget ved samme computer. Det gør man ved at klikke på fanebladet Explorer og dernæst på ikonet Libraries (et skuffedarium) i vinduet til venstre. Ved en nyinstallation er der kun de fire viste standardbiblioteker. Det nederste med navnet "Work" er et midlertidigt bibliotek, hvis indhold slettes, når SAS lukker ned. Dette bibliotek er altså kun velegnet til alle midlertidige datasæt, fx mellemresultater og testdatasæt. Tilordning af et fast bibliotek I denne menu kan der klikkes på File i øverste venstre hjørne. 5

Den næste formular skal så udfyldes med det ønskede navn på det nye bibliotek og på den Windows mappe, data ligger i. Et tjekmærke i "Enable at startup" sikrer, at biblioteket tilordnes permanent, så proceduren ikke skal gentages hver gang SAS startes, som det skal ske, hvis biblioteksnavnet tilordnes ved en libname sætning. 6

Når der klikkes på OK burde det være i orden, og det nye bibliotek ses i oversigten over libraries ude til venstre. Hvis der klikkes på biblioteksnavnet, ses så en oversigt over datasæt og visse andre elementer i biblioteket. Billedet viser indholdet, når kun de to datasæt og de to formatbiblioteker, der følger med denne note, ligge i den mappe der tilordnet biblioteket "Hurtigt". Filer med andre filtyper en "sas7bdat" og "sas7bcat" (og et par få andre specielle SAS-filtyper) vises ikke i denne oversigt. Især skal det bemærkes at SASprogramfiler, dvs filer med extension "sas" ikke kan tilgås ad denne vej. Et programeksempel i Kode-SAS Når biblioteksnavnet "hurtigt" er tilordnet, kan følgende program køres. Programmet kan enten copy-pastes ind i programeditoren fra teksten i denne note. Det kan også hentes fra ved et klik på åbne ikonet hvorefter der skal findes frem til filen "hurtigt programeksempel.sas", der begynder med dette kald af PROC UNI- VARIATE. Programmet afvikles ved at klikke på den løbende mand eller blot trykke på F8. proc univariate data=hurtigt.sports_minutter; var sports_minutter; histogram sports_minutter/lognormal midpoints=30 to 1230 by 60; run; Det er uden betydning om der anvendes store eller små bogstaver i SAS-programmer, men man gør klogt i at undgå danske bogstaver, æøåæøå, i datasætnavne og variabelnavne. Resultatet er en række statistiske mål for det antal minutter de 1053 personer i en fritidsundersøgelse bruger pr uge på sport - fx at gennemsnittet er hele 255 minutter! Det høje gennemsnit skyldes, at alle, der ikke dyrker sport, er udeladt af datasættet. Nedenfor er outputtet gengivet fra outputvinduet, der formelt set kaldes et listing output, i en kørsel i SAS version 9.2. I version 9.3 og 9.4 dannes outputtet som default i et Resultsvinduet i HTML format med en del lyseblå nuancer, men skrifttypen er så stor, at det ikke egner sig til gengivelse her. Tallene i output er selvfølgelig præcis de samme. 7

I programmet tegnes også et histogram over fordelingen. På histogrammet er en tilpasset logaritmisk normalfordelingskurve også indtegnet, hvilket giver et nogenlunde fit. En hurtig oversigt over et datasæt kan dannes ved at hjælp af Proc Contents og Proc Print. Proc contents data=hurtigt.sports_minutter; run; Proc Print data=hurtigt.sports_minutter(obs=10); run; Proc Contents giver en oversigt over datasættets mere tekniske specifikationer herunder en liste over de variable, der findes i datasættet. Proc Print printer alle observationer i datasættet, men da der kan være mange observationer i et datasæt, man ikke kender, er der i programmet specificeret, at kun de ti første skal printes ud. 8

Import/Eksport af data fra Excel, Stata, SPSS etc. Der findes standardmetoder med import/eksport wizards til import/eksport fra/til Excel, SPSS, STATA og andre dataformater. Alternativt kan man benytte Proc Import og Proc Export, der tilbyder større fleksibilitet. Fx kan man styre dataimport fra Excell transporten ved at specificere arknavn og række/søjleudsnit fra en Excel-mappe. I SAS-U importeres datasæt andre dataformater end SAS's egen fx ved hjælp af PROC IMPORT. I mappen C:\Users\Henning\Documents\SASUniversityEdition\myfolders\Sommerskole_Data ligger et SPSS datasæt, "ESS6e01.sav", fra European Social Survey, ESS. Disse datasæt anvendes i sommerskolen. Dette datasæt kan importeres ved 9

proc import file= "C:\Users\Henning\Documents\AndersG2a\Sommerskole2015\Sommerskole_data" out=ud dbms=sav replace; run; I dette program dannes et datasæt, der kaldes "Ud". Dette datasæt ligger i det midlertidige bibliotek "Work". Datasæt fra dette bibliotek kan anvendes uden biblioteksangivelse. Men datasættet skal dannes igen i hver SAS-session. Formatkataloger i Kode-SAS I større datasæt er oplysningerne ofte kodet, så et tal optræder som en forkortelse for en længere tekstdefinition. Fx kan tallet 1 betyde Hovedstadsregionen, tallet 2 Region Sjælland etc. Et tilsvarende eksempel er, at kommunedata kan være lagret med kommunenummeret, der jo entydigt svarer til kommunens normale navn. I disse tilfælde kan man oversætte tallene til teksterne ved hjælp af formater. Det er et større arbejde at udarbejde formaterne, men i denne sammenhæng antages blot, at de er lavet. Sammen med datasættet, der indeholder alle tallene, er der så opbygget et formatkatalog, der er en fil med filtypen sas7bcat. Ofte hedder de blot formats.sas7bcat. Et formatkatalog kan med fordel placeres i samme Windows mappe som det datasæt, det knytter sig til, fordi mappen i forvejen vil være tilordnet som et bibliotek, fx med en libname statement. I SAS programmet skal man så fortælle, at der skal ledes efter programmer i netop det bibliotek. Det gøres for biblioteksnavnet "hurtigt" og formatkataloget "formatkatalognavn" ved options fmtsearch=(hurtigt.formatkatalognavn); Når der er knyttet formater til de variable i datasættet, giver det en fejlmeddelelse, når der regnes på tallene, uden at formatkataloget er tilordnet, og programmet går i fejl. SAS ordren options nofmterr; bevirker imidlertid, at denne fejl slås fra, så der kan ses på datasættets indhold og regnes på tallene alligevel. Denne mulighed er nyttig, hvis man ikke helt kan overskue, hvad formatet skulle være, for med fejlmeddelelsen slået fra, kan der ses på variabelnavne etc. og regnes på de bagvedliggende tal dog selvfølgelig uden at have formaterne til rådighed Et yderligere problem er, at formater er blevet afhængige af om der anvendes 32 eller 64 bits PC-er. Der er muligheder for at konvertere mellem de to format-formater (undskyld jeg stammer), men sådanne løsninger virker unaturlige for brugere, der blot skal hurtigt i gang. I kurser vil der derfor ofte være stillet formatkataloger i begge formater til rådighed - let genkendelige med tallene 32 eller 64 i filnavnet. I praksis kan formater ofte dannes ved at afvikle format definitionen ved begyndelsen af den SAS session, hvor formatet skal bruges. Det gøres ved at danne formaterne som et formatkatalog i det midlertidige bibliotek work ved at afvikle et SAS-program, der for ukyndige vil virke som det rene volapyk. Men denne metode 10

er sikker og let at bruge, så den anvendes ofte, når datasæt skal udveksles, fx bruges den af Danmarks Statistik, PISA og Hans Bay. I Hans Bays eksempler er der ofte et program med navne som fx format2012.sas, der skal hentes in i programeditoren og køres allerførst i hver SAS-session. Eksempel på anvendelse af formatbiblioteker Datasættet biografvisit er dannet med et format, så programmet proc freq data=hurtigt.bigrafvisit; tables v6*v338/chisq; run; vil, hvis det afvikles uden at tage hensyn til formater, gå i fejl, hvilket fremgår af log-vinduet Slås formatfejl fra med options nofmterr i programmet options nofmterr; proc freq data=hurtigt.bigrafvisit; tables v6*v338/chisq; run; får man outputtet baseret på tal, men uden formaterne til at forbedre layoutet 11

Nu specificeres, hvor formaterne skal findes. Husk det med 32 eller 64! options fmtsearch=(hurtigt.formats_1_64); /*På 32 bits PC-er skal der bruges formats_1_32, jf sidste afsnit*/ proc freq data=hurtigt.bigrafvisit; tables v6*v338/chisq; run; Derved bliver tallene 1 og 2 oversat til teksten Mand og Kvinde på udskriften, og grupperingen for antal biografbesøg fremstår klart. I datasættet er der anvendt labels, der bevirker at variabelnavnene, fx v6, ikke skrives, men der i stedet skrives labelen KØN. Disse labels er en del af det konstruerede datasæt og kan anvendes uden videre af brugeren. 12

13

Versionsproblemer Desværre er der hele tiden forskellige typer computere, forskellige versioner af Windows, forskellige versioner af SAS i brug samtidigt. Der kan derfor opstå uforudsete konverteringsproblemer. I dette afsnit vil de vigtigste issues, der er aktuelle for tiden, blive beskrevet. Datasæt i forskellige SAS-versioner SAS datasæt kan ikke frit overføres fra SAS version 9.4 til 9.2, men da 9.2 ikke længere anvendes i universitetsverdenen, er det uden betydning i undervisningen. Men af hensyn til udveksling med SAS-brugere andetsteds med ældre SAS-versioner beskrives nedenfor, hvordan problemet han fikses. I SAS 9.4 er en speciel option ændret, så et datasæt dannet i 9.4 ikke kan læses af version 9.2. Omvendt kan version 9.4 altid læse datasæt dannet i 9.2. Problemet kan løses ved at anvende en option, når et datasæt dannes i 9.4. Denne option har noget at gøre med den maksimale størrelse af de datasæt, der kan håndteres af SAS. Denne forøgelse af kapaciteten er helt uden betydning for studerende, så for os er det kun et irritationsmoment. Når et datasæt dannes i version 9.4 bør man altså altid bruge optionen option ExtendObsCounter=NO; *eller forkortelsen; option EOC=NO; Dette skal altså gøres i 9.4. Sidder man kun med en 9.2 installation, er der intet at stille op for at åbne et datasæt fra 9.4. SAS datasæt - 32/64 bits maskiner Når et SAS datasæt, der er dannet på en 32 bits maskine, anvendes på en 64 bits maskine, kan der komme en advarsel i logvinduet om, at datasættet er "native to another host", hvilket kan forringe performance. Det er uden tvivl rigtigt, men har absolut ingen betydning i praksis. Advarslen er blot et irritationsmoment, som kan få skylden, hvis andet går galt i SAS sessionen. Problemet (hvis det altså er et problem) kan løses ved en konvertering, men det virker meningsløst til studiebrug, så det vil ikke blive gennemgået. Der er (heldigvis) ikke problemer, når et datasæt dannet på en 64 bits maskine åbnes på en 32 bits maskine. SAS formater - 32/64 bits maskiner SAS formatkataloger, som er dannet på en 32 bits maskine, kan ikke anvendes på en 64 bits maskine. Problemet skal løses ved en konvertering - en såkaldt katalogeksport. Det er ikke noget, som studerende burde bruge tid på. Formatkataloger vil derfor blive udleveret med klar angivelse af, om de er til 32 bits eller til 64 bits maskiner. En anden mulighed er, at formaterne dannes med et SAS program i begyndelsen af den SAS session, hvor formatet skal anvendes. Dette program virker for ikke format-kyndige som rent volapyk, men metoden virker ens for alle maskintyper. 14

Danske bogstaver på SAS-grafik For at opnå, at danske bogstaver - æøåæøå - samt en del andre specialtegn bliver skrevet korrekt på grafisk output, skal der måske ændres i en tegntabel. Det gøres ved optionen goption devmap=winansi keymap=winansi; Ved visse installationer udføres denne option som standard i begyndelsen af hver SAS-session. Det ses tydeligt på figurerne, om optionen er nødvendig! Output i word format Output fra en SAS procedure kan let overføres til tekstbehandlingsprogrammer ved hjælp af ODS (Output Delivery System). Output destinationen RTF danner en fil i RTF format (Rich Text Format), der er helt kompatibel med Microsoft word. Det forgår ved at omslutte, de procedurer, hvis output man ønsker i word format, med ods rtf; og ods rtf close; som i følgende: ods rtf style=journal; proc univariate data=hurtigt.sports_minutter; var sports_minutter; histogram sports_minutter/lognormal midpoints=30 to 1230 by 60; run; ods rtf close; Det dannede RTF-dokument åbnes automatisk i Word. Husk at dette dokument skal lukkes ned, før der dannes et nyt RTF dokument fra en ny kørsel. Fra dette dokument kan tabeller og grafer let copy-pastes over i opgaver/specialer etc. Optionen style=journal bevirker at tabeller etc. formateres pænere. Der findes andre output destinationer, fx PDF, PPT(powerpoint) og LATEX(i mange former). Grafikoutput fra statistikprocedurer Mange statistikprocedurer danner en række figurer, der kan anvendes til modelkontrol etc. Disse diagrammer dannes af et "Statistical Graphics" system. Disse grafiske output udvides og forbedres fra version til version. De dannes uden videre i HTML Results vinduet sammen med tekst(tabel)-outputtet. I næste program er er det med formaterne er ligegyldigt, så formatfejl slås fra med options nofmterr. options nofmterr; proc reg data=hurtigt.bigrafvisit plots=all; model v338=v8; run; I Resultsvinduet ude til venstre kan alt outputtet ses som i følgende billede, hvor alle underpunkter er pakket ud. Fra Resultsvinduet kan graferne copy_pastes ind i rapporter, der skrives i fx word. 15

Al output - også det grafiske - bliver som default dannet i HTML med grafik i PNG format. I version 9.3 og 9.4 dannes billedfilerne i en temporær mappe. Det er muligt at gemme billederne i andre formater, fx TIFF, og samtidigt dirigere billedfilerne hen til brugerbestemte mapper, hvis de dannede grafer skal bruges professionelt. Til almindeligt studiebrug er copy-paste metoden af graferne, som de vises i Resultsvinduet, dog langt det enkleste. Der er enkelte ændringer i den grafik, der dannes mellem de forskellige versioner af SAS, men ændringerne er så små, at de ikke betyder noget i praksis. 16

Enterprise Guide som programeditor SAS leverer et peg-og-klik produkt sammen med kode SAS versionen, der ellers er blevet behandlet i dette notat. Ved hjælp af dette produkt, kaldet Enterprise Guide, kan man hurtigt gennemføre datamanipulationer og statistiske analyser ved at udfylde wizards, peg-og-klik og træk-og-slip. Det foregår sådan, at de mange muligheder i moderne PC udstyr udnyttes fuldt ud. Fordelene ved denne arbejdsmåde er oplagte, da brugeren ikke behøver at sætte sig ind i en masse kodesyntaks udenad, men hurtigt kan frembringe resultater uden at skulle lære en masse kode. På den anden side kan erfarne brugere synes, at denne arbejdsmåde er langsommelig, i hvert fald når man først har lært koden udenad. Desuden er det ikke muligt at udføre alle statistiske analyser ved brug af peg-ogklik værktøjet, så man alligevel skal kode selv ved mere avancerede analyser. Det gælder mange af de videregående statistik- og økonometrikurser, der udbydes på Økonomisk Institut. Men Enterprise Guide leveres også med en kodeeditor, så ganske almindelig SAS kode kan afvikles inde fra Enterprise Guide og kombineres med de mange smarte muligheder. Denne kode-editor er mere avanceret end den editor, der er beskrevet i de andre dele af dette notat. Derfor anvendes den af SAS selv ved kurser i SAS på fx Matematisk Institut. Den vil med fordel kunne anvendes i alle kurser, men af gammel vane benytter lærerne den ikke (i al fald ikke endnu). I det følgende beskrives den kort. Gennemgangen er baseret på Enterprise Guide 4.3 der afvikles ud fra en installation af SAS 9.22. I efteråret 2012 er version 5.1 af Enterprise Guide tilgængelig med SAS version 9.3 - denne version findes på Peter Bangsvej. Enterprise Guide 6.1 installeres sammen med SAS version 9.4. Når Enterprise Guide åbnes, ser skærmbilledet således ud. I en egentlig udnyttelse af de mange faciliteter i Enterprise Guide bliver proces vinduet "Process Flow" fyldt ud med en række småjobs som fx dataindlæsning, datatransformationer og statistiske analyser efterfulgt af udskriftjobs og plotjobs. 17

Under menupunktet "Program" i øverste linie kan der vælges "New Program", hvorved der åbnes en kodeeditor. I denne editor kan man så skrive SAS programmet. Fidusen ved denne editor er den såkaldte "code completion". Fx vil editoren straks foreslå ordet "Proc", når den ser de to første bogstaver "Pr" som vist nedenfor som et af eksemplerne på de mange muligheder. Ofte er der så mange muligheder, at de præsenteres som en rullemenu. Ved at placere cursoren ovenpå en kommando kommer en kort hjælpemenu frem, så man let kan se syntaksen. Alle disse muligheder med fornuftige forslag og frit tilgængelig hjælp giver selvfølgelig store lettelser i kodearbejdet. Et godt eksempel er, at man de steder, hvor en farve kan specificeres til et grafikoutput, kan se en liste over nyttige farver. På den måde kan man variere farvepaletten, selvom man kun kender navnene på farverne green, red, blue etc fra skolens engelskundervisning. Hvem skulle have gættet, at der en farve, der hedder "DodgerBlue"? - se senere! I realiteten er Enterprise Guide en klient-server løsning, hvor der på en normal PC blot er tale om, at SAS på PC-en opfattes som en server. I professionelle miljøer kan klienten og serveren være adskilt, så fx en forsikringsagent kan arbejde på en lille installation, mens de store datasæt og det store program ligger på en stor server i en kælder hjemme på hovedkvarteret. Om føje tid (vist egentlig allerede nu) kan der afvikles SASprogrammer på denne måde fra mobiltelefoner og tablets. For universitetsverdenen stiller SAS to store servere til rådighed (en i Heidelberg - det europæiske hovedkvarter og en i Cary - det globale hovedkvarter i USA). Vi har faktisk mulighed for at afvikle SAS på denne måde, men jeg har aldrig prøvet det i praksis. 18

Denne anderledes opsætning af programmet medfører, at bibliotekstilordning foregår anderledes. Derfor tilordnes biblioteksreferencen i eksemplerne nedenfor med libname kommandoen libname hurtigt 'C:\Users\USIAM\Documents\AndersG2\Hurtigt i gang'; 19

Programkoden afvikles ved et klik på F8 eller på det lille Run ikon over editoren. Hvor der kan vælges imellem at afvikle hele programmet eller kun den del, der i dette billede er markeret. Når programmet er kørt, vises resultaterne på et "Results" faneblad. Grafen er integreret i outputtet, så den er på næste side, så der skal blot scrolles ned for at få den frem. På billedet er der højreklikket på grafen, så den let kan copy-pastes ind i et dokument. 20

Log-fanebladet fungerer ligesom log-vinduet i almindelig kode SAS. Bemærk at der er tilføjet en del ekstra kode, som mest tjener til at styre output formateringen. 21

Et godt eksempel på nytten af code-completion er, at man de steder, hvor en farve kan specificeres til et grafikoutput, kan se en liste over nyttige farver. På den måde kan man variere farvepaletten, selvom man kun kender farverne green, red, blue etc fra skolens engelskundervisning. Hvem skulle have gættet at der en farve, der hedder "DodgerBlue"? I eksemplet nedenfor bruges denne farve til at fylde histogrammet ud med optionen cfill=dodgerblue. 22

23