Det gode SAS-program #21: Gem tal i karakterkolonner

I SAS findes der kun 2 typer af kolonner: karakter og numerisk. En numerisk kolonne kan kun indeholde tal, hvorimod en karakterkolonne kan indeholde bokstaver, tal og specialtegn.

Vi anbefaler:  Gem tal i karakterkolonner, hvis du ikke skal foretage beregninger

Eksempel

Her et lille testprogram med tre numeriske kolonner og en karakterkolonne. Vi har oprettet talkolonner som numeriske uden at tænke meget over det.

Dgs#21.1

Read More »

Post a Comment

SAS Specialepris - hvad laver vinderen et år efter?

Jeg mødtes med sidste års vinder af SAS Specialeprisen, Anders Munk-Nielsen, for at høre lidt om, hvad han har bedrevet siden han vandt prisen sidste forår. Og hvad han tog med sig fra specialepriskonkurrencen.

Det viser sig, at han skulle have et lille venskabeligt skub til at sende sit speciale ind til konkurrencen:

En sidegevinst ved at vinde SAS Specialeprisen sidste år var at møde Jim Goodnight til en snak om datakilder og selvfølgelig dieselbiler, som Anders' speciale handlede om.

En sidegevinst ved at vinde SAS Specialeprisen sidste år var at møde Jim Goodnight til en snak om datakilder og selvfølgelig dieselbiler, som Anders' speciale handlede om.

”Jeg tænkte, at der sikkert var vildt mange spændende projekter og mit ikke var interessant nok til at blive valgt ud. Og så blev jeg overrasket over, at fokus for udvælgelsen var gode analytiske evner og ikke så meget teknik og værktøj”

Heldigvis sendte han specialet ind og han indrømmer, at det var lidt at et selvtillidsboost at gå hen og vinde konkurrencen. En sidegevinst ved at være med i konkurrencen var at blive tvunget til at se på sit projekt med nye øjne

”Vi skulle lave en 5 minutters præsentation af vores speciale, som skulle formidle den viden, vi var nået frem til til folk uden for vores egen faggruppe – det var en lærerig proces. Når man har siddet med projektet så længe, så får man et had-/kærlighedsforhold til det, så det var fedt at tage det frem på ny og male med den brede pensel”

Det hjalp ham også, da han senere skulle skrive en artikel om projektet til Børsen.

Tværfaglighed Read More »

Post a Comment

Data Scientist – Skal du have ny jobtitel?

En ny jobtitel er ved at dukke frem i Danmark, nemlig Data Scientist.  Jeg har konstateret, at flere af jer, der arbejder med SAS software, er begyndt at bruge Data Scientist som stillingsbetegnelse.

Det synes jeg er meget interessant dels fordi det kan være en mere korrekt beskrivelse af de arbejdsopgaver I udfører, dels fordi det måske fortæller, at I er begyndt at arbejde på en ny måde med analyser og high performance computing på store datamængder.

Så hvad er mere nærliggende end at undersøge lidt data. Jeg kørte lidt SAS-programmer på vores kontaktdatabase i SAS Institute. Jeg har udvalgt personer, der arbejder på kerneområderne med SAS-software (databehandling, analyse, business intelligence, statistik, databaser m.v.) og fundet de mest anvendte stillingsbetegnelser.

Så ud fra disse tusinder af personer er jeg nået frem til følgende 20 mest anvendte stillingsbetegnelser blandt danske SAS-brugere/udviklere. Dette er en såkaldt word-cloud, hvor størrelsen på teksten er udtryk for, hvor hyppigt den pågældende stillingsbetegnelse er anvendt.

Kilde: Data fra SAS Institutes kontaktdatabase.  Note: Vi opdaterer stillingsbetegnelser løbende (f.eks. når du er i kontakt med os og skriver en ny stillingsbetegnelse), men selvfølgelig er disse data ikke helt opdateret.

Kilde: Data fra SAS Institutes kontaktdatabase.
Note: Vi opdaterer stillingsbetegnelser løbende (f.eks. når du er i kontakt med os og skriver en ny stillingsbetegnelse), men selvfølgelig er disse data ikke helt opdateret.

Read More »

Post a Comment

Det gode SAS-program #20: Begræns antallet af steps og få hurtigere svartid

SAS er vidunderligt let at arbejde med. Man løser sin opgave iterativt med et step ad gangen. Det gør det lettere at løse opgaven. Men når man er færdig med opgaven, bør man revidere programmet og reducere antallet af steps for at gøre koden lettere at overskue og hurtigere at udføre.

Vi anbefaler:

  1. Løs din opgave iterativt; dan koden trin for trin
  2. Revider dit program og reducer antallet af steps

Eksempel

Der er rigtig mange måder, hvorpå man kan undgå at lave ekstra steps i SAS. Her kommer et eksempel, hvor vi udnytter, at man i et PROC-kald kan styre input og output. Tabellen SASHELP.CITIYR indeholder 10 rækker og 7 kolonner. Vi vil gerne transformere den til 2 rækker og kun beholde data fra 2 af de oprindelige kolonner. Det gør man med den super smarte PROC TRANSPOSE.

Dgs#20.1

Read More »

Post a Comment

Lær SAS hjemme fra sofaen

SAS for studerende holder en webinarrække henover foråret, hvor du kan få en indføring i SAS-programmering, databehandling, statistiske analyser og grafik i SAS.
Første webinar er allerede løbet af stablen, men du kan stadig nå at være med - vi optog nemlig webinaret, som gav en introduktion til SAS-programmering i SAS Studio. bog-sas-for-studerende-500px-kvadratiskDu kan se webinaret her, så du kan nå at være med næste gang, hvor vi kommer dybere ned i databehandling med SAS.

Resten af programrækken ser således ud og alle er velkomne til at deltage:

  • Databehandling med SAS (2 timer)
    Instruktør: Steen Hyldgaard
    03.03.15 kl. 09.00

Se en optagelse af webinaret

Få kode og datasæt fra webinaret

Read More »

Post a Comment

Opsætning af SAS University Edition i WMware

I marts 2014 udkom SAS University Edition. Det er en frit tilgængelig software, der er tiltænkt universitetsstuderende, som ønsker at opnå stærke analytiske færdigheder. Softwaren giver studerende en rigtig god platform for alskens udfordringer i jobrollen som kvantitativ analytiker/data scientist.

Da softwaren kører i en virtuel maskine, er der et par ting, der skal sættes op, for at du gnidningsfrit kan få adgang til de data og programmer, der ligger på din computer. Her er et par guidelines til opsætning af softwaren:

  1. Få adgang til dine mapper i SAS UE via følgende tre trin:
    • Tryk Ctrl-D i WMware Player --> Options --> Shared Folders --> tryk “always enabled” --> Add --> host-path “browse” --> vælg den mappe, som du ønsker at bruge til at læse data og gemme programmer på (hvis du opretter en mappe på C:\-drevet kan stien se således ud: C:\SASUniversityEdition
    • Start den virtuelle maskine op og åbn den http-sti, der angives i den virtuelle maskine, i din foretrukne browser. Når SAS UE er startet op, vil den nye delte mappe kunne findes under ”Folders” og ”Folder Shortcuts”/ ”MyFolders”. Det kan være nødvendigt at lukke browseren helt og åbne den igen.
    • For at læse datafilerne skrives et libname, der refererer til datamappen på din lokale computer: Åbn program (F4) og skriv følgende: Libname ind ’/folders/myshortcuts/SASUniversityEdition/PRG12015/data’; (Stien findes ved at højreklikke på et datasæt i din mappe og trykke ”properties” og finde stien i ”to location”).

Read More »

Post a Comment

Det gode SAS-program #19: Benyt views og få hurtigere svartid

Vi benytter ofte proc og datastep i SAS-programmer til at danne midlertidige work-tabeller.

Her anbefaler  vi:

Dan views i stedet for fysiske work-tabeller, når tabellen kun skal læses 1 gang  

Et SAS view er en logisk SAS-tabel. Data gemmes ikke på disk, men i stedet gemmes det kompilerede SAS-program, som næsten ikke fylder noget uanset datamængden. Vi reducerer altså skrivning til og læsning fra disk, og programmet vil køre hurtigere.

Eksempel 1

SASHELP.HEART indeholder højde og vægt for en række patienter. Da det er amerikanske data, benyttes tommer og pund. Vi ønsker at beregne BMI-tallet for disse patienter og samtidig omforme data til dansk målestandard (cm og kg). Derfor er vi nødt til først at danne en ny work-tabel, hvorefter vi kan lave den ønskede graf over BMI-tallet for alle disse patienter.

Dgs#19.1

Read More »

Post a Comment

SAS, data scientists og big data – en cocktail af potens

Data scientist – det gad jeg godt være! Der er så meget cool factor over den rolle, og jeg misunder alle jer superanalytikere – også kaldet data scientists – med flair for at finde forretningsguldet i umulige data i exabyte-størrelse.

I disse tider er data scientists en mangelvare. Sidste år måtte SAS UK lave en konkurrence for at lokke data scientists frem i lyset, og i Danmark er flere og flere virksomheder på jagt efter eksperter, som kan bore sig ned i de massive mængder af data og trylle forretningssvarene frem med potente analyser. Hvis jeg var studerende, ville jeg vælge at uddanne mig i big data science, hvor man opbygger faglige kompetencer på tværs af hele big data-værdikæden (dataopsamling, datalagring, dataanalyse, visualisering og datasikkerhed).

Lyder denne dataværdikæde velkendt? Hvis du har arbejdet med SAS de seneste 15 år, vil du vide, at dataværdikæden er en uløselig del af SAS-dna’et. Med big datas fremkomst er dataværdikæden stadig aktuel, og SAS har sat sig tungt på løsningerne. SAS® In-Memory Statistics er det nye sort, hvor data scientists og andre har det herligt, når de fingernemt behersker det lynhurtige in-memory analytiske programmeringssprog.

Read More »

Post a Comment

Det gode SAS-program #18: Benyt index på større tabeller

Vi arbejder ofte med store og bredde tabeller i SAS. Du kan få bedre performance på læsning af dine SAS- tabeller ved at bruge index, når:

  • SAS-tabellen har mange rækker og måske også mange kolonner
  • I kun skal læse en delmængde af data - f.eks. mindre end 10% af rækkerne - og dette sker flere gange
  • I kan udtrykke begrænsningen af rækker med et WHERE statement

Generelt bliver index brugt alt for lidt. Måske fordi man bare ikke kender muligheden, eller fordi man tror, det er svært. Men det er meget enkelt. Her er et lille læringseksempel. Vi danner en tabel med 5 millioner rækker med tilfældige fornavne og efternavne ud af de 10 mulige.

Dgs#18.1

Read More »

Post a Comment

Det gode SAS-program #17: Begræns antallet af rækker med WHERE og IF statement i datasteppet

Når du danner nye tabeller med datasteppet, har du ofte behov for at begrænse antallet af rækker i tabellen. Du kan bruge WHERE og IF statements, som kan give samme resultat, men de fungerer helt forskelligt.

Vi anbefaler:

  1. Brug et og kun et WHERE statement til at udvælge de rækker, som skal indlæses.
  2. Brug et eller flere IF statements til at udvælge rækker, som skal skrives til den nye tabel i et data- step.

Meget kort kan man sige, at WHERE er til at udvælge data ved indlæsning, og IF er til at bearbejde data i datasteppet samt beslutte, hvilke rækker der skal i den nye tabel. Her kan du se tre eksempler på brug af WHERE statement og WHERE option i datasteppet, som alle giver helt samme resultat.

Read More »

Post a Comment