Dan dine egne SAS - funktioner med PROC FCMP



Relaterede dokumenter
Mænd, Mus og Metadata

Anvendelse af Model- View koncept i SAS Stored Processer

Klog på SAS seminar, december 2013 Hvordan skjules password i loggen ved brug af macro, Svend Bang, Københavns Universitet

Deltag i en quiz: Test din viden i SAS -programmering

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik

Vejledning Post modul

Analyse af tid-til-event data i store kohorte studier analyseret med SAS/STAT

SAS-programmering med sikkerhedsnet: FUTS (Framework for Unit Testing SAS programs)

Adgangsgivende eksamen (udeladt kategori: Matematisk student med matematik på niveau A)

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

Google Maps og SAS/GRAPH software

Man indlæser en såkaldt frequency-table i SAS ved følgende kommandoer:

Gmail Lær det selv! Valdemar Bonde

Best practice. Forudsætninger for et godt data warehouse SAS Data Integration Studio

ODS measured tagset til RTF er smart og kan tilpasses

Kursuskalender Savner du et kursus på listen, er du meget velkommen til at kontakte os på mail:

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

Advanced Word Template Brugermanual

Hvorfor SAS Kort intro til SAS

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

PROC TRANSPOSE. SAS-tabellen - hensigtsmæssig lagring af data. Copyright 2011 SAS Institute Inc. All rights reserved.

PUT og INPUT funktionerne

JAR Øvelse nr. 2. JAR-Manual, Version 1.0. Avanceret søgning. Regionsvejledning

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

Nedenstående vejledning er baseret på personlige erfaringer og er derfor ikke en fyldestgørende afdækning af markedet.

EasyIQ ConnectAnywhere Release note

BørneIntra-træf d maj 2012

Variansanalyse i SAS. Institut for Matematiske Fag December 2007

Tips og tricks til Proc Means. Per Andersen Senior IM Consultant Dong Energy, Group IT, Trading IT, Analytics

Velkommen til udviklingsmøde

ERFARING MED IMPLEMENTERING AF BENTLEY I-MODEL COMPOSITION SERVER (ICS) FOR PDF

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Quickguide til

Manual til s forum

WT-1672A GSM trømsvigt Alarm

NY & FORBEDRET SIGNFLOW

Den danske levetidsmodel Performanceoptimering fra R til datasteppet i SAS. Per Helmark, Business Delivery Manager, SAS Institute

TimeStamper Guide til fejlretning

Print Organizer 2D og 3D PDF

FairSSL Fair priser fair support

SAS-forum, oktober 2012: Organisering af vidensdeling blandt gruppe af SAS-brugere

Hvordan vælger jeg dokumentprofilen?

Hvad er en terminalserver?

Schedulering af SAS job i MS Task Scheduler, som sender med log og statuskode ved fejl

Tips og tricks til Proc Means. Per Andersen

web concept tema 4 Hvordan kan man motivere børn til at spise mere frugt?

FairSSL Fair priser fair support

Hent filoplysninger fra billeder og filer

Administrator for Kids- & Teenstævner

Sporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services

Dataintegration best practice vejen til et godt data warehouse

VDI AARHUS UNIVERSITET VER 1.5 VDI 30. APRIL

Jobafvikling i batch under Windows

Tillykke Med Fødselsdagen

U DVIKLINGSTEAMET AALBORG UNIVERSITETSBIBLIOTEK

GRAFISK WORKFLOW WEBSITE - CHOCOADDICT

Afhold team-webinars og styrk dit team.

Postregistrering Eksamensprojekt i Programmering C Lavet af: Frantz Furrer Svendborg Erhvervsskole HTX Vejleder: Claus Borre

Peter Kellberg. Det vidste du ikke om et EG projekt!

Registre i medicinsk forskning. Frank Mehnert SAS Forum København 3. oktober 2012

KMD A/S BØRNEINTRA. ERFAmøde Odense, den 12. december 2013

Det er muligt at chekce følgende opg. i CodeJudge: og

Common Denmark. Jan Koefoed-Nielsen. Common Denmark

SAS Forum 2012 Den virtuelle operatør

Referat netværksmøde for e-dok nøglepersoner, HEV 18. Nov 2014

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

en fælles opsætning af SAS som grundlag for samarbejde. Jesper Michelsen, Risikostyring Modeller

Installation og opsætning af Outlook klient til Dynamics CRM

Velkommen SAS Forum 2010

GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0

OpenTele datamonitoreringsplatform

MapBasic hvad kan det bruges til? Insights Danmark 2011

Active Builder - Brugermanual

Hvor langt er vi nået med 3D PDF. Frank Møller Christensen. Bentleyuser.dk årsmøde Historik

FNE Temaeftermiddag Grafisk rapport. Kompetence Program. Fortolkning af AMPS resultater

Udfordringer ved BAT-konklusionerne med fokus på biomasse

Søren Peter Lund Arbejmiljøkonferecen 2013

Introduktion til SAS. Faculty of Health Sciences

Introduktion til funktioner, moduler og scopes i Python

Optimér din forretning med Master Data Management til Microsoft Dynamics AX

Mobile apps. App Academy. Velkommen! Vi starter kl. 17:00. Eksempler og links kan findes på

Modul 8: Clouds (Lagring af filer)

En introduktion til SAS Risk Dimensions 5.2

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X & 10.8

GENUDBUD AF NEMREFUSION. 28. november 2013

SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp

Løsning af skyline-problemet

EasyIQ ConnectAnywhere Release note

Tak for din tilmelding til mit Nyhedsbrev. Her har du 3 gode råd til at skabe balance for dig selv Og 3 gode råd til virksomheden

Interaktionsudvikling

Idekatalog. Så vidt jeg husker fremgik det ret tydeligt hvad der skulle være i ansøgningen. Der var bare virkelig mange informationer der skulle med.

" #" $ " "!% &'% ' ( ) * " & #

Fwd: Kommunen orienterer om status vedr. støjmåling på borepladsen

03 virksomhedens SIDER/ EfterUddannelse.dk 3 virksomhedens sider beskrivelse af Aflevering

FairSSL Fair priser fair support

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Integration med egne systemer. Vejledning til Digital Post for virksomheder

Praktisk information Tilmelding Du tilmelder dig telefonisk på eller på:

Model Bar L/min. kw/hp Liter L (mm) W (mm) H (mm) Connection dba Kg

Transkript:

Dan dine egne SAS - funktioner med PROC FCMP Karsten Lund, chefkonsulent PS Commercial / Life Sciences

Fordele og ulemper ved at anvende PROC FCMP Fordele ved at anvende PROC FCMP Bedre mulighed for at opbygge ETL jobs i moduler Bedre mulighed for at teste programmer Mere læsevenlige programmer Bedre muligheder for god program dokumentation Ulemper ved at anvende PROC FCMP Umiddelbart ingen

SASHELP.CLASS

Function BMI, version 1 Proc fcmp outlib=sasfunc.functions.test; function BMI (height,weight); bmi = weight / ( height * height ); return(bmi); quit; endsub;

Example1.sas 1 2 3 4 5

Log of Example1.sas

Function BMI, version 2 Proc fcmp outlib=sasfunc.functions.test; function BMI (height,weight,obs,ds $); h=height; w=weight; Kald af egne funktioner i en funktion if (h gt 10 and w gt 50) then do; h=std_units(h, inch, m ); w=std_units(w, pound, kg ); end; if (1.20 lt h lt 2.20 and 34 lt w) then bmi=w/(h*h); quit; if bmi eq. then call miss_handle(ds,obs,error_con,input_values); return(bmi); endsub;

Function std_units proc fcmp outlib=sasfunc.functions.test; function std_units(value,unit_in $,unit_out $); out_val=.; Kald af en SAS -makro i en funktion rc=run_macro('fetch_std_units',unit_in,unit_out, Conversion_factor); if rc=0 then out_val=value*conversion_factor; quit; endsub; return(out_val);

Subroutine miss_handle proc fcmp outlib=sasfunc.functions.test; subroutine miss_handle(ds $,obs,error_con $,input_values $); Kald af en SAS -makro i en funktion rc=run_sasfile('miss_pgm',ds,obs,error_con, input_values); quit; endsub;

Example2.sas 1 2 3 4 5

Log of Example2.sas

PROC FCMP Performance Nødvendige overvejelser Funktioner afvikles én gang for hvert kald til en funktion Tidsrøvere: Kald af interne SAS -funktioner som put datetime() Kald af makroer Brug af eksterne filer PROC FCMP er hurtig til de fleste øvrige datastep statements Forandringerne fra datastep er små PROC FCMP-funktioner uden syntaksfejl er ikke synlige i log

Del funktioner i organisationen Skriv og test egne funktioner lokalt Del via SAS Global option CMPLIB i SAS config-fil cmplib = sasuser.funcs; cmplib = (sasuser.funcs work.functions mycat.funcs); cmplib = sasuser.func1 - sasuser.func10;

Find SAS FCmp Function Editor

SAS FCmp Function Editor

Afrunding Ny funktionalitet i SAS 9.2, PROC FCMP. Forhåbentlig har dette indlæg vagt jeres interesse for PROC FCMP, så I har fået lyst til selv at lave funktioner I morgen kl. 13:00 ligeledes i sal 3 vil Jørgen Boysen vise, hvordan PROC FCMP bliver anvendt hos DONG Energy i Dramex-projektet Kodeeksempler findes i print her i salen og vil være tilgængelige på SAS Forums hjemmeside www.sasforum.dk Send mig eventuelt en e-mail, og jeg fremsender gerne dette indlæg og kodeeksempler

Referencer og links Eberhardt, Peter. 2010. Functioning at an Advanced Level: PROC FCMP and PROC PROTO http://support.sas.com/resources/papers/proceedings10/024-2010.pdf Eberhardt, Peter. 2009. A Cup of Coffee and Proc FCMP: I Cannot Function Without Them. http://support.sas.com/resources/papers/proceedings09/147-2009.pdf. Secosky, Jason. 2007. User-Written DATA Step Functions. http://www2.sas.com/proceedings/forum2007/008-2007.pdf. Stacey M. Christian and Jacques Rioux, 2010 Adding Statistical Functionality to the DATA Step with PROC FCMP http://support.sas.com/resources/papers/proceedings10/327-2010.pdf

Karsten Lund karsten.lund@sdk.sas.com