* --- Alle labels kan nu bestemmes i PROC PRINT -------;



Similar documents
Nyheter i SAS9.4 för programmerare

Opdatering af metadata via SAS -programmer

SAS Intelligence Database Teknikken bag den nye database

SAS programmer til Proc Means indlæg af Per Andersen / Capgemini Danmark A/S

Join af tabeller med SAS skal det være hurtigt?

SPDE. Lagring af større datamængder. make connections share ideas be inspired. Henrik Dorf Chefkonsulent SAS Institute A/S

DO, DON T og DORF. SAS -programmering

SAS og Excel. Kender du fem forskellige måder at overføre data mellem SAS og Excel? Gert Nissen, seniorkonsulent

Beyond the Basics: Advanced REPORT Procedure Tips and Tricks Updated for SAS 9.2 Allison McMahill Booth, SAS Institute Inc.

Gør dine big data klar til analyse på en nem måde med Hadoop og SAS Data Loader for Hadoop. Jens Dahl Mikkelsen SAS Institute

VHDL programmering H2

Paper SAS Techniques in Processing Data on Hadoop

Agil Business Process Management - i Finans

my students are encouraged to think rather than just listen evaluations of my lectures improved significantly

CLUSTER ANALYSIS. Kingdom Phylum Subphylum Class Order Family Genus Species. In economics, cluster analysis can be used for data mining.

Kogebogs HelloWorld øvelser i.net Remoting

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY

This can be useful to temporarily deactivate programming segments without actually deleting the statements.

Information og dokumentation Ledelsessystem for dokumentstyring Krav

Student evaluation form

Methodologies for Converting Microsoft Excel Spreadsheets to SAS datasets

Customizing FREQ Procedure Output in SAS 9.2

OIOudvalget for e-handel. 14. September 2010 Ole Madsen

Copyright 2003, SAS Institute Inc. All rights reserved.

TESTDATABASE. Deviations and Reporting

THE ROTARY FOUNDATION. Det hele begyndte med at Arch Klump fik en idé i 1917!

Salary. Cumulative Frequency

<Matthías saga digitalis 6.0/>

How To Boot A Cisco Ip Phone From A Cnet Vlan To A Vlan On A Cpower Box On A Ip Phone On A Network With A Network Vlan (Cisco) On A Powerline (Ip Phone) On An

INFORMATION STRUCTURE ANNOTATION IN DanPASS. Patrizia Paggio August 2006

Softwareudvikling Retningslinjer for anvendelse af ISO 9001:2008 til computersoftware

Tales from the Help Desk 3: More Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board

Software- og systemudvikling Softwaretest Del 1: Begreber og definitioner

Informationsteknologi Små computersystemers. Del 251: USB-fæstnet SCSI (UAS)

The Basics of Creating Graphs with SAS/GRAPH Software Jeff Cartier, SAS Institute Inc., Cary, NC

National strategi for Datamanagement Input fra Bevaring, Formidling og Genbrug. Birte Christensen-Dalsgaard Det Kongelige Bibliotek

Introduktion til distribuerede systemer uge 37 - fil og webserver

OIO Dekstop applikation

Informationsteknologi Serviceledelse Del 4: Procesreferencemodel

Informationsteknologi Serviceledelse Del 3: Vejledning i definition af emne og brug af ISO/IEC

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

SAS Education Providing knowledge through global training and certification. SAS Foundation. Kursöversikt 2010

Marie Tygesen Dalsgärd Hansen 18 October 2009 General Observations Head/Neck Connections Joint stability Functional improvements include

Constructing a Table of Survey Data with Percent and Confidence Intervals in every Direction

DS2 with Both Hands on the Wheel. Peter Eberhardt, Fernwood Consulting Group Inc., Toronto, ON

GB INTRODUCTION manual:

Packaging Linear bar code and twodimensional symbols for product packaging

Nordic Master in Didactics of Mathematics

Vejledning til en europæisk COREfaktura-datamodel. CII-retningslinjer for implementering Del 1: Introduktion

Questionnaire #1: The Patient (Spørgeskema, må gerne besvares på dansk)

Creating Dynamic Reports Using Data Exchange to Excel

SRX. SRX Firewalls. Rasmus Elmholt V1.0

Oversættelse af symbolsk maskinsprog. Sammenkædning og indlæsning af maskinsprog

Softwareudvikling Kvalitetskrav til og evaluering af softwareprodukter (SQuaRE) Fælles industriformat (CIF) til brugbare testrapporter

SAP Best Practices. Færdigpakket branchespecifik og brancheovergribende knowhow. Tilgængelighed for SAP-kunder og SAP-partnere

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 4: Prøvningsmetoder

Revolusjonen COPYRIGHT NOTICE

Jordundersøgelser Prøvetagning Del 5: Vejledning i undersøgelse af jordforurening på bymæssige og industrielle grunde

Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 2: Maskinlæsbare teknologier

Claus B. Jensen IT Auditor, CISA, CIA

How To Write An International Safety Standard

Preparing your data for analysis using SAS. Landon Sego 24 April 2003 Department of Statistics UW-Madison

Hvor parat er din virksomhed? Motivation for systematisk serviceudvikling i den maritime branche

Vejen til privat finansiering. 16. juni 2011

Indenfor projektledelse

How To Price Power In Norsk

EGA HANDICAP- SYSTEM Hovedsponsor:

Building a Better Dashboard Using Base SAS Software

Enterprise productivity and collaboration.

BALLOMAX PN16 / 40, DN 10-50

Statistiske metoder i procesledelse Kapabilitet og performance Del 3: Analyse af maskinperformance for måleværdier på (diskrete) emner

Hvis personallisten ikke er ført slik reglene sier, kan Skatteetaten ilegge overtredelsesgebyr.

LS-PBS LeverandørService opkrævninger via nets Instructions

Integrating SAS and Excel: an Overview and Comparison of Three Methods for Using SAS to Create and Access Data in Excel

Data Visualization Tips and Techniques for Effective Communication

Hvor svært kan det være udnyt din viden med omhu!

Olie- og naturgasindustrien Levetidsomkostninger Del 3: Retningslinier for implementering

Parallel Data Preparation with the DS2 Programming Language

Using the Magical Keyword "INTO:" in PROC SQL

Demand for Analysis-Ready Data Sets. An Introduction to Banking and Credit Card Analytics

Sundhedsinformatik Kapacitetsbaseret roadmap for e-sundhedsarkitektur Del 1: Oversigt over nationale e-sundhedsinitiativer

Parc del Segre Barcelona

public void setusername(string username) { this.username = username; } public void setname(string name) { this.name = name; }

Business development. Linnea Jacobsen. 1. semester 2014

Casestudier, der understøtter IEC Bestemmelse af RF-felter og SAR-værdier i nærheden af radiokommunikationsbasestationer

Kvalifisering av ny teknologi

ENGLISH. Trapeze European User Conference June

Ergonomi Fysisk miljø Anvendelse af internationale standarder for personer med særlige behov

THE SAS OUTPUT DELIVERY SYSTEM: BOLDLY TAKE YOUR WEB PAGES WHERE THEY HAVE NEVER GONE BEFORE! CHEVELL PARKER, SAS INSTITUTE INC.

Rubber condoms Guidance on the use of ISO 4074 in the quality management of natural rubber latex condoms

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health

The Power to Show: Ad Hoc Reporting, Custom Invoices, and Form Letters

Informationsteknologi Storage management Del 1: Oversigt

Design guide. Design denmark. Design guide Version 1.0 November 2014

USSASSAARINERMI AKIT ANNONCEPRISER

SAS Visual Analytics: Arkitektur, data flow og administration

2 halvleg. 1 halvleg. Opvarmning. 2 halvleg. 3 halvleg. Advanced & Powerful. Basic PC-based Automation. Diagnose. Online Tools & Add-on s

Transcription:

Foredrag på SAS Forum, 18. september 2013 Nyheder i SAS 9.4 for SAS programmører, Georg Morsing Program 1 * --- Alle labels kan nu bestemmes i PROC PRINT -------; proc print data=sashelp.cars label grandtotal_label='total for begge biler' sumlabel='subtotal' noobs; where make in ('Audi','BMW') and invoice > 40000; by make ; var model invoice; sum Invoice; label invoice='pris' make ='Producent'; Program 2 /* --- Ny option CUROBS til SET og MODIFY statements --- */ data piger; set sashelp.class curobs=obs; where sex='f'; obs_num=obs;

Program 3 /* --- Ændring i SCAN funktion. Ny variabel er ikke Længere 200 lang, men længden af det første argument --- */ data; Navn='Georg Morsing'; e_navn=scan(navn,2); Program 4 /* --- Ny options til PUTC og PUTN funktioner --- */ proc format; value agefmt 10-13='10-13 år' 14-16='14-16 år'; length alder alder_c alder_r $ 20; alder = putn(age,'agefmt.'); alder_c = putn(age,'agefmt.-c',20); alder_r = putn(age,'agefmt.-r',20); if _n_=1 then do; put '*' alder $char20. '*'; put '*' alder_c $char20. '*'; put '*' alder_r $char20. '*';

Program 5 /* --- Ny DOSUBL funktion til at udføre SAS kode midt i et data step ------- */ Navn='Georg'; rc=dosubl('proc sql; select count(age) into :antal from sashelp.class;'); hvor_mange= symgetn("antal"); rc=dosubl('proc sql noprint; select avg(weight) into :w from sashelp.class;'); avg_weight= symgetn("w"); if sex='f' then rc=dosubl('proc sql noprint; select avg(weight) into :w from sashelp.class where sex="f";'); if sex='m' then rc=dosubl('proc sql noprint; select avg(weight) into :w from sashelp.class where sex="m";'); avg_weight= symgetn("w"); Program 6 libname orion 'C:\Georg\SAS Forum DK 2013\SAS 9_4\Data'; data find_priser; input product_id; datalines; 210100100010 210100100011 ;

/* --- Multiple key værdier i et HASH objekt SAS 9.3 ------------- */ data prices; if _N_ = 1 then do; if 0 then set orion.price_list; declare hash price(dataset: "orion.price_list", multidata: "y"); price.definekey("product_id"); price.definedata("start_date", "end_date", "unit_sales_price"); price.definedone(); set work.find_priser; if price.find()=0 then do; output; price.has_next(result: next); do while(next = 1); price.find_next(); output; price.has_next(result: next); keep product_id start_date end_date unit_sales_price; /* --- Multiple key værdier i et HASH objekt SAS 9.4 ------------- */ data prices; if _N_ = 1 then do; if 0 then set orion.price_list; declare hash price(dataset: "orion.price_list", multidata: "y"); price.definekey("product_id"); price.definedata("start_date", "end_date", "unit_sales_price"); price.definedone(); set work.find_priser; if price.find()=0 then do; price.reset_dup(); do while(price.do_over() eq 0); output; keep product_id start_date end_date unit_sales_price;

Program 7 /* --- VBUFSIZE option er buffer størrelse til data step views --- */ /* --- Sæt VBUFSIZE til samme værdi som bufsize på input tabel --- */ proc options option=vbufsize ; data test(bufsize=1m); length text $ 400; retain text 'Meget lang text'; do I=1 to 10000000; x= round(ranuni(0)); output; proc contents data=test; data test2 / view=test2; set test; y=x*.5; Proc means data=test2; var x y; options vbufsize=1m; Proc means data=test2; var x y;

Program 8 /* --- Bevar alt i din SAS session til senere --- */ options presenv; %let navn=georg Morsing; data piger drenge; if sex='f' then output piger; else if sex='m' then output drenge; libname sasdata 'c:\temp\data'; filename programs 'c:\temp\programs.sas'; proc presenv save permdir=sasdata sascode=programs; /* --- Hent den SAS session du sluttede med sidst --- */ %include 'c:\temp\programs.sas'; Run;

Program 9 /* --- Ny system options, besked om manglende initialization ---*/ options varinitchk=note; length gruppe $ 10; options varinitchk=nonote; length gruppe $ 10; options varinitchk=warning; length gruppe $ 10; options varinitchk=error; if weihgt > 100 then gruppe='større end 100';

Program 10 title;footnote; /* --- Placer flere typer af output på samme side --- */ /* --- Eksempel 2 ----------------------------------- */ ods layout gridded columns=2; ods region; proc print data=sashelp.class; ods region; proc print data=sashelp.class; ods layout /* --- Eksempel 2 ----------------------------------- */ ods layout gridded rows=3 row_heights=(1in 2in 3in); ods region; proc print data=sashelp.class(obs=1); ods region; proc means data=sashelp.class n mean; ods region; proc print data=sashelp.class(obs=3); ods layout

Program 12 options nonumber nodate; /* -- Send rapporter og grafer direkte til Powerpoint -- */ ods powerpoint file='c:\temp\georg.ppt' style=htmlblue; proc sgplot data=sashelp.class; bubble x=age y=height size=weight / group=sex datalabel=name transparency=.3 ; yaxis grid; proc sgpanel data=sashelp.class; panelby sex; bubble x=age y=height size=weight / datalabel=name transparency=.3 ; rowaxis grid; ods powerpoint close; Program 13 /* --- Danne powerpoint slides med PROC ODSTEXT ------------------------------- */ title; ods powerpoint file='c:\temp\georg.ppt' layout=titleslide; proc odstext; p 'Denne tekst er dannet med den nye PROC ODSTEXT' / style=presentationtitle; p 'SAS Forum 2013, Georg Morsing' / style=presentationtitle; ods powerpoint layout=_null_; proc sgplot data=sashelp.class; bubble x=age y=height size=weight / group=sex datalabel=name transparency=.3 ; yaxis grid; ods powerpoint close;

Program 14 /* --- Send output til mobile enheder --- */ ods graphics; ods epub file='c:\temp\bubleplot.epub' title='analyse' options(creator='georg'); proc freq data=sashelp.class; tables age*sex / plots=freqplot nocol norow nopercent; ods epub close; Program 15 /* --- DATA Step 2, udnyt flere CPU'er --- */ data work.jmaster; do j = 1 to 10000000; output; /* Definer koden der skal køres */ proc ds2; thread r /overwrite=yes; dcl double count; dcl double k; dcl double x; method run(); set {select * from work.jmaster}; count+1; do k=1 to 100; x=k/count + k/count + k/count;

method term(); OUTPUT; endthread; quit; /* 1 thread */ proc ds2; data j1(overwrite=yes); dcl thread r r_instance; dcl double count; dcl double total; method run(); set from r_instance threads=1; total+count; enddata; quit; /* 8 threads */ proc ds2; data j8(overwrite=yes); dcl thread r r_instance; dcl double count; dcl double total; method run(); set from r_instance threads=8; total+count; enddata; quit; title;footnote; proc print data=j8(obs=5); var j count total;