Tips and Tricks for SAS Programmers. SUCCESS March 2018 Mary Harding

Size: px
Start display at page:

Download "Tips and Tricks for SAS Programmers. SUCCESS March 2018 Mary Harding"

Transcription

1 Tips and Tricks for SAS Programmers SUCCESS March 2018 Mary Harding Copyright SAS Institute Inc. All rights reserved.

2 Agenda Tip 1 Sorting tip Tip 2 Don t read data over and over again :SASFILE Tip 3 Pattern Matching Tip 4 Substr (left side) 2

3 Agenda Tip 5 Create Native EXCEL files from ODS..It s FINALLY HERE! 3

4 Tip 1: Save on Sorting: Use the NOEQUALS Option PROC SORT : change default behavior Example: o First Sort 13 Cards Highest to lowest: o KK QQ JJ o Then sort by Suit. For observations with identical BYvariable values, EQUALS maintains the relative order of the observations within the input data set in the output data set. 4 Solution: Proc Sort, NOEQUALS option EQUALS is the default, and uses unnecessary CPU. If we look at the s, Proc Sort, maintains the relative order of the K Q J 5, even though we didn t need to.

5 Tip 1: Save on Sorting: Use the NOEQUALS Option First sort table by order_date. Now sort the same table by order_type Notice how SAS maintains the previous order_date order. 5

6 Tip 1: Save on Sorting: Use the NOEQUALS Option Use NOEQUALS option to save processing time. Proc Sort data=orders out=orders_ordertype Noequals; by Order_type; Run; PROC SORT DATA=prod.customers NOEQUALS ; I just care about the beer can size 6

7 Tip 2: Don t read data over and over again: SASFILE SASFILE Statement Loads TABLE keeps data in MEMORY Use when processing data across many steps Works if TABLE fits in Memory Remember to use SASFILE close statement to release memory Cannot write to file 7

8 Tip 2: Don t read data over and over again: SASFILE sasfile orion.customerdim load; Reduce processing proc freq data=orion.customerdim; SASFILE SAS-data-set LOAD; tables CustomerCountry CustomerType; run; proc print data=orion.customerdim noobs; where CustomerType='Orion Club Gold members high activity'; var CustomerID CustomerName CustomerAgeGroup; run; proc means data=orion.customerdim mean median max min; var CustomerAge; class CustomerGroup; run; proc tabulate data=orion.customerdim format=8.; class CustomerAgeGroup CustomerType; table CustomerType All=Total, CustomerAgeGroup*n=' ' All=Total*n=' '/rts=45; SASFILE SAS-data-set CLOSE; run; sasfile orion.customerdim close; 8

9 Tip 2: Don t read data over and over again: SASFILE Note: Cannot write to a table that is in-memory 9

10 Tip 3: Pattern Matching: PERL Regular Expressions (PRX) Open source language available in SAS Specifies Character patterns to search or replace Returns the Start position at which the pattern is found Returns 0 if pattern is not found Let s look at an example: I need to verify SIN Patterns 10

11 Tip 3: Pattern Matching : PERL Regular Expressions Data SIN; infile datalines dlm=","; input name:$30. sin:$20.; Datalines; Cary Grant, Humphrey Bogart, Lauren Bacall, Sophie Loren, jhu James Dean, HI Jerry Lewis, Catherine Hepburn, Cary Grant, LK8 Marlon Brando,Toronto Janet Lee,849-74N-e89 ; Run; 1. Verify Pattern: XXX-XXX-XXX 2. Verify that X is a digit 3. Verify there are no additional characters ap 7 Invalid SINs 11

12 Tip 3: Pattern Matching PERL Regular Expressions Data Invalid Good; set sin; If prxmatch('/\d{3}-\d{3}-\d{3}/',trim(sin))=0 then output Invalid /*did not find a pattern match*/; else output Good; Run; Metacharacter Role / Start or end regular expression \d{3} Match three digits - Dash between digits It almost works 12

13 Tip 3: Pattern Matching PERL Regular Expressions What happened to : James Dean, HI Marlon Brando,Toronto Hmm Why are these still considered VALID? The PRXMATCH is a sliding search so it did find XXX-XXX-XXX, We need to further qualify our search Toronto Force PRXMATCH to search for match ONLY from position 1 to 11, rather than search for the pattern anywhere in the string Metacharacter ^ Role Represents the beginning of the string, before the first character $ Represents the end of the string, after the last character 13

14 Tip 3: Pattern Matching PERL Regular Expressions Data Invalid Good; set sin; Run; ^ matches the position at the beginning of the input string if prxmatch('/^\d{3}-\d{3}-\d{3}$/',(sin))=0 then output Invalid; /*If equal to Zero, it did not find the pattern match and is INVALID*/ else output Good; It works $ matches the position at the end of the input string. 7 Invalid SINs, problem solved. 14

15 Tip 3: Perl Regular Expressions PRX can accomplish much more: Use in the DATA step to enhance search-andreplace text options. Use to perform the following tasks: o Validate data o Replace text o Extract a substring from a string 15

16 Tip 3: Pattern Matching: PRX vs VERIFY and LIKE functions Is there another way? o The VERIFY function has some similar properties to PERL Regular Expressions o Let s use the VERIFY function with the LIKE operator, to check SINs. 16

17 Tip 3: Pattern Matching: PRX vs VERIFY and LIKE functions Data Invalid_SIN; Set sin; Where SIN not Like ' - - ' or Verify(trim(compress(SIN,'-')),' ') ne 0; Run; VERIFY(target-expression, search expression, <search expression> ) Returns the position of the first character in target-expression that is not present in any search-expression. If there are no characters other than those in searchexpressions,verify returns a 0. Essentially a correct Pattern match. 17

18 Tip 3: Pattern Matching: PRX vs VERIFY and LIKE functions o An alternate solution that doesn t require learning Perl Regular expression syntax. o May not work for more complicated matching problems. 18

19 Tip 4: Substr(left side) You need to replace several characters in a string. Easy you say, I know several ways : o Tranwrd function o Translate o PRXCHANGE o Conditional logic Easy problem: Change values of the variable Pet. If Pet= Cat then change to Dog. Newpet=Tranwrd(Pet, Cat, Dog ); 19

20 Tip 4: Substr(left side) What if you have millions of characters that need to be changed, to a specific value. More difficult Problem: We need to Confidentialize credit card numbers. Any ideas Hint: it is a one line solution 20

21 Tip 4: Substr(left side) and Picture Format SUBSTR(variable, position <, length>)=characters to replace Replaces character values based on their position in a string, not their value. The one line solution.. Example SUBSTR(creditcard,13,4)= XXXX ; 21

22 Tip 4: Create native EXCEL- ODS EXCEL It s finally here, create native xlsx files from SAS Reports. Production SAS9.4 M3 (Experimental SAS9.4 M1 and M2) ODS EXCEL FILE="C:\Temp\colour_cells.xlsx" ; Proc report data=orion.emps(obs=20); column Name JobTitle Country Gender HireDate Salary; compute Name; count+1; if mod(count,2)=0 then call define(_row_,'style', 'style={background=lightgreen}'); endcomp; Run; ODS EXCEL CLOSE; 22

23 Tip 4: Create native EXCEL- ODS EXCEL 23

24 24 Copyr i g ht 2014, SAS Ins titut e Inc. All rights res er ve d. What to learn more Papers and Documentation o o o o o o Paper : Jolley, Linda T. Stroupe, Jane S. Dear Miss SASAnswers: A Guide to SAS Efficiency Paper : Virgile, Robert The Most Important Efficiency Techniques PERL Regular Expressions: ODS EXCEL Documentation: ault/viewer.htm#p09n5pw9ol0897n1qe04zeur27rv.htm 24

25 Questions? Copyright SAS Institute Inc. All rights reserved.

26 Thank You sas.com Copyright SAS Institute Inc. All rights reserved.

SAS Online Training: Course contents: Agenda:

SAS Online Training: Course contents: Agenda: SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation

More information

PRXChange: Accept No Substitutions Kenneth W. Borowiak, PPD, Inc.

PRXChange: Accept No Substitutions Kenneth W. Borowiak, PPD, Inc. CT-03 PRXChange: Accept No Substitutions Kenneth W. Borowiak, PPD, Inc. Abstract SAS provides a variety of functions for removing and replacing text, such as COMPRESS, TRANSLATE & TRANWRD. However, when

More information

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions Introduction to SAS Procedures SAS Basics III Susan J. Slaughter, Avocet Solutions DATA versus PROC steps Two basic parts of SAS programs DATA step PROC step Begin with DATA statement Begin with PROC statement

More information

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions Introduction to SAS Procedures SAS Basics III Susan J. Slaughter, Avocet Solutions SAS Essentials Section for people new to SAS Core presentations 1. How SAS Thinks 2. Introduction to DATA Step Programming

More information

SAS Enterprise Guide and Add-In for Microsoft Office Hands-on Workshop

SAS Enterprise Guide and Add-In for Microsoft Office Hands-on Workshop SAS Enterprise Guide and Add-In for Microsoft Office Hands-on Workshop SAS Australia and New Zealand V2.1 1-2 Chapter 1 SAS Enterprise Guide and Add-In for Microsoft Office Hands-on Workshop Chapter 1

More information

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS

More information

An Introduction to SAS University Edition

An Introduction to SAS University Edition An Introduction to SAS University Edition Ron Cody From An Introduction to SAS University Edition. Full book available for purchase here. Contents List of Programs... xi About This Book... xvii About the

More information

SAS STUDIO. A pretty big deal! Copyr i g ht 2012, SAS Ins titut e Inc. All rights res er ve d.

SAS STUDIO. A pretty big deal! Copyr i g ht 2012, SAS Ins titut e Inc. All rights res er ve d. A pretty big deal! 1.12.2014 INTRODUCTION A pretty big deal! Web-based programming interface to SAS It runs in your browser, which means that end users don't have to install anything (when connecting to

More information

Introduction to SAS. Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC

Introduction to SAS. Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC Introduction to SAS Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC cmurray-krezan@salud.unm.edu 20 August 2018 What is SAS? Statistical Analysis System,

More information

A Brief Tutorial on PERL Regular Expressions

A Brief Tutorial on PERL Regular Expressions bt002 An Introduction to PERL Regular Expressions Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ Introduction PERL regular expressions were added to SAS in Version 9. SAS regular

More information

Level I: Getting comfortable with my data in SAS. Descriptive Statistics

Level I: Getting comfortable with my data in SAS. Descriptive Statistics Level I: Getting comfortable with my data in SAS. Descriptive Statistics Quick Review of reading Data into SAS Preparing Data 1. Variable names in the first row make sure they are appropriate for the statistical

More information

Increase Defensiveness of Your Code: Regular Expressions

Increase Defensiveness of Your Code: Regular Expressions Paper CT12 Increase Defensiveness of Your Code: Regular Expressions Valeriia Oreshko, Covance, Kyiv, Ukraine Daryna Khololovych, Intego Group, LLC, Kyiv, Ukraine ABSTRACT While dealing with unfixed textual

More information

Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint

Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint PharmaSUG 2018 - Paper DV-01 Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint Jane Eslinger, SAS Institute Inc. ABSTRACT An output table is a square. A slide

More information

WHAT S NEW IN FOUNDATION SAS FOR 9.4

WHAT S NEW IN FOUNDATION SAS FOR 9.4 WHAT S NEW IN FOUNDATION SAS FOR 9.4 SASKATOON SAS USERS GROUP SASKATOON, SASKATCHEWAN 12 MARCH 2014 CHARU SHANKAR SAS INSTITUTE INC. SAS 9.4 CORE THEMES Enable Simplify Innovate Deployment Choices Provide

More information

Tips & Tricks. With lots of help from other SUG and SUGI presenters. SAS HUG Meeting, November 18, 2010

Tips & Tricks. With lots of help from other SUG and SUGI presenters. SAS HUG Meeting, November 18, 2010 Tips & Tricks With lots of help from other SUG and SUGI presenters 1 SAS HUG Meeting, November 18, 2010 2 3 Sorting Threads Multi-threading available if your computer has more than one processor (CPU)

More information

Stat 302 Statistical Software and Its Applications SAS: Data I/O & Descriptive Statistics

Stat 302 Statistical Software and Its Applications SAS: Data I/O & Descriptive Statistics Stat 302 Statistical Software and Its Applications SAS: Data I/O & Descriptive Statistics Fritz Scholz Department of Statistics, University of Washington Winter Quarter 2015 February 19, 2015 2 Getting

More information

proc print data=account; <insert statement here> run;

proc print data=account; <insert statement here> run; Statistics 6250 Name: Fall 2012 (print: first last ) Prof. Fan NetID #: Midterm Three Instructions: This is an in-class and open book midterm. You must write your answers on the provide spaces. Give concise

More information

An Easy Route to a Missing Data Report with ODS+PROC FREQ+A Data Step Mike Zdeb, FSL, University at Albany School of Public Health, Rensselaer, NY

An Easy Route to a Missing Data Report with ODS+PROC FREQ+A Data Step Mike Zdeb, FSL, University at Albany School of Public Health, Rensselaer, NY SESUG 2016 Paper BB-170 An Easy Route to a Missing Data Report with ODS+PROC FREQ+A Data Step Mike Zdeb, FSL, University at Albany School of Public Health, Rensselaer, NY ABSTRACT A first step in analyzing

More information

Introduction to the SAS Macro Facility

Introduction to the SAS Macro Facility Introduction to the SAS Macro Facility Uses for SAS Macros The macro language allows for programs that are dynamic capable of selfmodification. The major components of the macro language include: Macro

More information

ST Lab 1 - The basics of SAS

ST Lab 1 - The basics of SAS ST 512 - Lab 1 - The basics of SAS What is SAS? SAS is a programming language based in C. For the most part SAS works in procedures called proc s. For instance, to do a correlation analysis there is proc

More information

Final Stat 302, March 17, 2014

Final Stat 302, March 17, 2014 First Name Last Name Student ID Final Stat 302, March 17, 2014 Fritz Scholz Questions 1-15 count as 4 points each, the rest as 6 points each (180 total). 1. Could Y and y refer to different objects within

More information

22S:166. Checking Values of Numeric Variables

22S:166. Checking Values of Numeric Variables 22S:1 Computing in Statistics Lecture 24 Nov. 2, 2016 1 Checking Values of Numeric Variables range checks when you know what the range of possible values is for a given quantitative variable internal consistency

More information

Reporting Template. By Denis Fafard Business Analyst WCB - Alberta

Reporting Template. By Denis Fafard Business Analyst WCB - Alberta Reporting Template By Denis Fafard Business Analyst WCB - Alberta Problem Reports built to different standards - Hard to maintain - Hard to support unless you re the author Time Consuming to login and

More information

BIOS 546 Midterm March 26, Write the line of code that all Perl programs on biolinx must start with so they can be executed.

BIOS 546 Midterm March 26, Write the line of code that all Perl programs on biolinx must start with so they can be executed. 1. What values are false in Perl? BIOS 546 Midterm March 26, 2007 2. Write the line of code that all Perl programs on biolinx must start with so they can be executed. 3. How do you make a comment in Perl?

More information

STA9750 Lecture I OUTLINE 1. WELCOME TO 9750!

STA9750 Lecture I OUTLINE 1. WELCOME TO 9750! STA9750 Lecture I OUTLINE 1. Welcome to STA9750! a. Blackboard b. Tentative syllabus c. Remote access to SAS 2. Introduction to reading data with SAS a. Manual input b. Reading from a text file c. Import

More information

12. Combining SAS datasets. GIORGIO RUSSOLILLO - Cours de prépara)on à la cer)fica)on SAS «Base Programming» 269

12. Combining SAS datasets. GIORGIO RUSSOLILLO - Cours de prépara)on à la cer)fica)on SAS «Base Programming» 269 12. Combining SAS datasets 269 Appending datasets in different situa)ons PROC PRINT DATA=Lib9_3.emps; PROC PRINT DATA=Lib9_3.emps2008; PROC PRINT DATA=Lib9_3.emps2009; PROC PRINT DATA=Lib9_3.emps2010;

More information

The Perks of PRX David L. Cassell, Design Pathways, Corvallis, OR

The Perks of PRX David L. Cassell, Design Pathways, Corvallis, OR Paper 129-29 The Perks of PRX David L. Cassell, Design Pathways, Corvallis, OR ABSTRACT Pattern matching lets you find chunks of text that have a particular pattern - even patterns that would be very hard

More information

Stat 302 Statistical Software and Its Applications SAS: Data I/O

Stat 302 Statistical Software and Its Applications SAS: Data I/O Stat 302 Statistical Software and Its Applications SAS: Data I/O Yen-Chi Chen Department of Statistics, University of Washington Autumn 2016 1 / 33 Getting Data Files Get the following data sets from the

More information

Data Presentation ABSTRACT

Data Presentation ABSTRACT ODS HTML Meets Real World Requirements Lisa Eckler, Lisa Eckler Consulting Inc., Toronto, ON Robert W. Simmonds, TD Bank Financial Group, Toronto, ON ABSTRACT This paper describes a customized information

More information

CSSE 220. Interfaces and Polymorphism. Check out Interfaces from SVN

CSSE 220. Interfaces and Polymorphism. Check out Interfaces from SVN CSSE 220 Interfaces and Polymorphism Check out Interfaces from SVN Interfaces What, When, Why, How? What: Code Structure used to express operations that multiple class have in common No method implementations

More information

REPORT DOCUMENTATION PAGE

REPORT DOCUMENTATION PAGE REPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions,

More information

work.test temp.test sasuser.test test

work.test temp.test sasuser.test test DSCI 325 Midterm Practice Test Spring 2017 Name: 1. Consider the following four names used to create a SAS data set: work.test temp.test sasuser.test test How many of these will be stored as permanent

More information

Example1D.1.sas. * Procedures : ; * 1. print to show the dataset. ;

Example1D.1.sas. * Procedures : ; * 1. print to show the dataset. ; Example1D.1.sas * SAS example program 1D.1 ; * 1. Create a dataset called prob from the following data: ; * age prob lb ub ; * 24.25.20.31 ; * 36.26.21.32 ; * 48.28.24.33 ; * 60.31.28.36 ; * 72.35.32.39

More information

WHERE YOUR MIND REALLY IS

WHERE YOUR MIND REALLY IS WHERE YOUR MIND REALLY IS MANY YEARS OF CODING What I ve learned (or still need to ) July 15, 2016 DART-SUG INTRO INTRO INTRO Specifications are flexible A FEW TRUISMS A FEW TRUISMS There are N! ways to

More information

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada ABSTRACT Performance improvements are the well-publicized enhancement to SAS 9, but what else has changed

More information

Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA

Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA ABSTRACT: Have you ever been asked to compare new datasets to old datasets while transfers of data occur several

More information

From An Introduction to SAS University Edition. Full book available for purchase here.

From An Introduction to SAS University Edition. Full book available for purchase here. From An Introduction to SAS University Edition. Full book available for purchase here. Contents List of Programs... xi About This Book... xvii About the Author... xxi Acknowledgments... xxiii Part 1: Getting

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

Quality Control of Clinical Data Listings with Proc Compare

Quality Control of Clinical Data Listings with Proc Compare ABSTRACT Quality Control of Clinical Data Listings with Proc Compare Robert Bikwemu, Pharmapace, Inc., San Diego, CA Nicole Wallstedt, Pharmapace, Inc., San Diego, CA Checking clinical data listings with

More information

It s Proc Tabulate Jim, but not as we know it!

It s Proc Tabulate Jim, but not as we know it! Paper SS02 It s Proc Tabulate Jim, but not as we know it! Robert Walls, PPD, Bellshill, UK ABSTRACT PROC TABULATE has received a very bad press in the last few years. Most SAS Users have come to look on

More information

SAS Macros for Grouping Count and Its Application to Enhance Your Reports

SAS Macros for Grouping Count and Its Application to Enhance Your Reports SAS Macros for Grouping Count and Its Application to Enhance Your Reports Shi-Tao Yeh, EDP Contract Services, Bala Cynwyd, PA ABSTRACT This paper provides two SAS macros, one for one grouping variable,

More information

Beginning Tutorials. bt006 USING ODS. Ban Chuan Cheah, Westat, Rockville, MD. Abstract

Beginning Tutorials. bt006 USING ODS. Ban Chuan Cheah, Westat, Rockville, MD. Abstract bt006 USING ODS Ban Chuan Cheah, Westat, Rockville, MD Abstract This paper will guide you, step by step, through some easy and not-so-easy ways to enhance your SAS output using the Output Delivery System

More information

Taking advantage of the SAS System on OS/390

Taking advantage of the SAS System on OS/390 Taking advantage of the SAS System on OS/390 Dave Crow Where I m from ---> Final: DUKE 77 UNC 75 The SAS System for OS/390! Getting started with Web Access! What s new in V8 and 8.1 of SAS! What s coming:

More information

Earthquake data in geonet.org.nz

Earthquake data in geonet.org.nz Earthquake data in geonet.org.nz There is are large gaps in the 2012 and 2013 data, so let s not use it. Instead we ll use a previous year. Go to http://http://quakesearch.geonet.org.nz/ At the screen,

More information

Setting the Percentage in PROC TABULATE

Setting the Percentage in PROC TABULATE SESUG Paper 193-2017 Setting the Percentage in PROC TABULATE David Franklin, QuintilesIMS, Cambridge, MA ABSTRACT PROC TABULATE is a very powerful procedure which can do statistics and frequency counts

More information

Outrun Your Competition With SAS In-Memory Analytics Sascha Schubert Global Technology Practice, SAS

Outrun Your Competition With SAS In-Memory Analytics Sascha Schubert Global Technology Practice, SAS Outrun Your Competition With SAS In-Memory Analytics Sascha Schubert Global Technology Practice, SAS Topics AGENDA Challenges with Big Data Analytics How SAS can help you to minimize time to value with

More information

An SQL Tutorial Some Random Tips

An SQL Tutorial Some Random Tips An SQL Tutorial Some Random Tips Presented by Jens Dahl Mikkelsen SAS Institute A/S Author: Paul Kent SAS Institute Inc, Cary, NC. Short Stories Towards a Better UNION Outer Joins. More than two too. Logical

More information

STAT 7000: Experimental Statistics I

STAT 7000: Experimental Statistics I STAT 7000: Experimental Statistics I 2. A Short SAS Tutorial Peng Zeng Department of Mathematics and Statistics Auburn University Fall 2009 Peng Zeng (Auburn University) STAT 7000 Lecture Notes Fall 2009

More information

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd Paper #1495-2014 Jazz it up a Little with Formats Brian Bee, The Knowledge Warehouse Ltd Abstract Formats are an often under-valued tool in the SAS toolbox. They can be used in just about all domains to

More information

Paper CT-16 Manage Hierarchical or Associated Data with the RETAIN Statement Alan R. Mann, Independent Consultant, Harpers Ferry, WV

Paper CT-16 Manage Hierarchical or Associated Data with the RETAIN Statement Alan R. Mann, Independent Consultant, Harpers Ferry, WV Paper CT-16 Manage Hierarchical or Associated Data with the RETAIN Statement Alan R. Mann, Independent Consultant, Harpers Ferry, WV ABSTRACT For most of the history of computing machinery, hierarchical

More information

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications

More information

RWI not REI a Robust report writing tool for your toughest mountaineering challenges.

RWI not REI a Robust report writing tool for your toughest mountaineering challenges. Paper SAS2105 RWI not REI a Robust report writing tool for your toughest mountaineering challenges. Robert T. Durie SAS Institute ABSTRACT The degree of customization required for different kinds of reports

More information

DSCI 325: Handout 10 Summarizing Numerical and Categorical Data in SAS Spring 2017

DSCI 325: Handout 10 Summarizing Numerical and Categorical Data in SAS Spring 2017 DSCI 325: Handout 10 Summarizing Numerical and Categorical Data in SAS Spring 2017 USING PROC MEANS The routine PROC MEANS can be used to obtain limited summaries for numerical variables (e.g., the mean,

More information

Print the Proc Report and Have It on My Desktop in the Morning! James T. Kardasis, J.T.K. & Associates, Skokie, IL

Print the Proc Report and Have It on My Desktop in the Morning! James T. Kardasis, J.T.K. & Associates, Skokie, IL Print the Proc Report and Have It on My Desktop in the Morning! James T. Kardasis, J.T.K. & Associates, Skokie, IL ABSTRACT The user will learn how to produce detail and summary reports as well as frequency

More information

Chapter 1 The DATA Step

Chapter 1 The DATA Step Chapter 1 The DATA Step 1.1 Structure of SAS Programs...1-3 1.2 SAS Data Sets... 1-12 1.3 Creating a Permanent SAS Data Set... 1-18 1.4 Writing a SAS DATA Step... 1-24 1.5 Creating a DATA Step View...

More information

CHAOTIC DATA EXAMPLES. Paper CC-033

CHAOTIC DATA EXAMPLES. Paper CC-033 Paper CC-033 Creating Order from Chaos Using SAS Functions Kristine L. Dougherty, Florida Department of Corrections, Tallahassee, FL Vicky Feldman, Florida Department of Corrections, Tallahassee, FL ABSTRACT

More information

Spring 2008 OASUS Q&A

Spring 2008 OASUS Q&A Spring 2008 OASUS Q&A The following answers are provided to the benefit of the OASUS Users Group and are not meant to replace SAS Technical Support. Also, an Enterprise Guide project is provided as a companion

More information

SAS Macro Programming for Beginners

SAS Macro Programming for Beginners ABSTRACT SAS Macro Programming for Beginners Lora D. Delwiche, Winters, CA Susan J. Slaughter, Avocet Solutions, Davis, CA Macro programming is generally considered an advanced topic. But, while macros

More information

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT MWSUG 2017 - Paper BB15 Building Intelligent Macros: Driving a Variable Parameter System with Metadata Arthur L. Carpenter, California Occidental Consultants, Anchorage, Alaska ABSTRACT When faced with

More information

A Side of Hash for You To Dig Into

A Side of Hash for You To Dig Into A Side of Hash for You To Dig Into Shan Ali Rasul, Indigo Books & Music Inc, Toronto, Ontario, Canada. ABSTRACT Within the realm of Customer Relationship Management (CRM) there is always a need for segmenting

More information

Why choose between SAS Data Step and PROC SQL when you can have both?

Why choose between SAS Data Step and PROC SQL when you can have both? Paper QT-09 Why choose between SAS Data Step and PROC SQL when you can have both? Charu Shankar, SAS Canada ABSTRACT As a SAS coder, you've often wondered what the SQL buzz is about. Or vice versa you

More information

Introductory SAS example

Introductory SAS example Introductory SAS example STAT:5201 1 Introduction SAS is a command-driven statistical package; you enter statements in SAS s language, submit them to SAS, and get output. A fairly friendly user interface

More information

Reporting from Base SAS Tips & Tricks. Fareeza Khurshed BC Cancer Agency

Reporting from Base SAS Tips & Tricks. Fareeza Khurshed BC Cancer Agency Reporting from Base SAS Tips & Tricks Fareeza Khurshed BC Cancer Agency Overview Index for large data Summarizing Data Getting Data to Excel Index Think of book index or library catalogue or search function

More information

Run your reports through that last loop to standardize the presentation attributes

Run your reports through that last loop to standardize the presentation attributes PharmaSUG2011 - Paper TT14 Run your reports through that last loop to standardize the presentation attributes Niraj J. Pandya, Element Technologies Inc., NJ ABSTRACT Post Processing of the report could

More information

Syntax Conventions for SAS Programming Languages

Syntax Conventions for SAS Programming Languages Syntax Conventions for SAS Programming Languages SAS Syntax Components Keywords A keyword is one or more literal name components of a language element. Keywords are uppercase, and in reference documentation,

More information

Going Under the Hood: How Does the Macro Processor Really Work?

Going Under the Hood: How Does the Macro Processor Really Work? Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts

More information

Chapter 6: Modifying and Combining Data Sets

Chapter 6: Modifying and Combining Data Sets Chapter 6: Modifying and Combining Data Sets The SET statement is a powerful statement in the DATA step. Its main use is to read in a previously created SAS data set which can be modified and saved as

More information

WINDOWS 8.X SIG SEPTEMBER 22, 2014

WINDOWS 8.X SIG SEPTEMBER 22, 2014 New Start Screen: Top RIGHT corner next to your Sign in Name is the OFF button. To the Right of Off button is a Search icon You can click on Search icon OR just start typing anywhere in open area of Start

More information

Intermediate SAS: Working with Data

Intermediate SAS: Working with Data Intermediate SAS: Working with Data OIT Technical Support Services 293-4444 oithelp@mail.wvu.edu oit.wvu.edu/training/classmat/sas/ Table of Contents Getting set up for the Intermediate SAS workshop:...

More information

SAS Institue EXAM A SAS Base Programming for SAS 9

SAS Institue EXAM A SAS Base Programming for SAS 9 SAS Institue EXAM A00-211 SAS Base Programming for SAS 9 Total Questions: 70 Question: 1 After a SAS program is submitted, the following is written to the SAS log: What issue generated the error in the

More information

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2 SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Department of MathemaGcs and StaGsGcs Phone: 4-3620 Office: Parker 364- A E- mail: carpedm@auburn.edu Web: hup://www.auburn.edu/~carpedm/stat6110

More information

Choosing the Right Technique to Merge Large Data Sets Efficiently Qingfeng Liang, Community Care Behavioral Health Organization, Pittsburgh, PA

Choosing the Right Technique to Merge Large Data Sets Efficiently Qingfeng Liang, Community Care Behavioral Health Organization, Pittsburgh, PA Choosing the Right Technique to Merge Large Data Sets Efficiently Qingfeng Liang, Community Care Behavioral Health Organization, Pittsburgh, PA ABSTRACT This paper outlines different SAS merging techniques

More information

ABSTRACT: INTRODUCTION: WEB CRAWLER OVERVIEW: METHOD 1: WEB CRAWLER IN SAS DATA STEP CODE. Paper CC-17

ABSTRACT: INTRODUCTION: WEB CRAWLER OVERVIEW: METHOD 1: WEB CRAWLER IN SAS DATA STEP CODE. Paper CC-17 Paper CC-17 Your Friendly Neighborhood Web Crawler: A Guide to Crawling the Web with SAS Jake Bartlett, Alicia Bieringer, and James Cox PhD, SAS Institute Inc., Cary, NC ABSTRACT: The World Wide Web has

More information

Jam Packed w/ Tips, Tricks & Hacks

Jam Packed w/ Tips, Tricks & Hacks Presenting The Year End Results: Hacks with Tables and Charts Jam Packed w/ Tips, Tricks & Hacks Inspires You! Think Differently 1 RATs RATs Repetitive, Annoying Tasks RATs Repetitive, Annoying Tasks 2

More information

SAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board

SAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board SAS PROGRAM EFFICIENCY FOR BEGINNERS Bruce Gilsen, Federal Reserve Board INTRODUCTION This paper presents simple efficiency techniques that can benefit inexperienced SAS software users on all platforms.

More information

SAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board

SAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board SAS PROGRAM EFFICIENCY FOR BEGINNERS Bruce Gilsen, Federal Reserve Board INTRODUCTION This paper presents simple efficiency techniques that can benefit inexperienced SAS software users on all platforms.

More information

Bruce Gilsen, Federal Reserve Board

Bruce Gilsen, Federal Reserve Board SAS PROGRAM EFFICIENCY FOR BEGINNERS Bruce Gilsen, Federal Reserve Board INTRODUCTION This paper presents simple efficiency techniques that can benefit inexperienced SAS software users on all platforms

More information

Perl Regular Expression The Power to Know the PERL in Your Data

Perl Regular Expression The Power to Know the PERL in Your Data ABSTRACT MWSUG 2018 Paper SB-145 Perl Regular Expression The Power to Know the PERL in Your Data Kaushal Chaudhary, Eli Lilly and Company, Indianapolis, IN Dhruba Ghimire, Eli Lilly and Company, Indianapolis,

More information

Assignment Grading Rubric

Assignment Grading Rubric Final Project Outcomes addressed in this activity: Overview and Directions: 1. Create a new Empty Database called Final 2. CREATE TABLES The create table statements should work without errors, have the

More information

The Ins and Outs of %IF

The Ins and Outs of %IF Paper 1135-2017 The Ins and Outs of %IF M. Michelle Buchecker, ThotWave Technologies, LLC. ABSTRACT Have you ever had your macro code not work and you couldn't figure out why? Even something as simple

More information

A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes

A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes Brian E. Lawton Curriculum Research & Development Group University of Hawaii at Manoa Honolulu, HI December 2012 Copyright 2012

More information

Using SAS to Analyze CYP-C Data: Introduction to Procedures. Overview

Using SAS to Analyze CYP-C Data: Introduction to Procedures. Overview Using SAS to Analyze CYP-C Data: Introduction to Procedures CYP-C Research Champion Webinar July 14, 2017 Jason D. Pole, PhD Overview SAS overview revisited Introduction to SAS Procedures PROC FREQ PROC

More information

A Picture Is Worth A Thousand Data Points - Increase Understanding by Mapping Data. Paul Ciarlariello, Sinclair Community College, Dayton, OH

A Picture Is Worth A Thousand Data Points - Increase Understanding by Mapping Data. Paul Ciarlariello, Sinclair Community College, Dayton, OH D02-2008 A Picture Is Worth A Thousand Data Points - Increase Understanding by Mapping Data Midwest SAS Users Group (MWSUG) Paul Ciarlariello, Sinclair Community College, Dayton, OH ABSTRACT If you find

More information

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ Paper 74924-2011 Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ ABSTRACT Excel output is the desired format for most of the ad-hoc reports

More information

Getting Familiar with SAS Version 8.2 and 9.0 Enhancements Sunil K. Gupta, Gupta Programming, Simi Valley, CA

Getting Familiar with SAS Version 8.2 and 9.0 Enhancements Sunil K. Gupta, Gupta Programming, Simi Valley, CA Getting Familiar with SAS Version 8.2 and 9.0 Enhancements Sunil K. Gupta, Gupta Programming, Simi Valley, CA ABSTRACT Are you just getting around to realizing what SAS version 8.2 has to offer while recently

More information

Using SAS to Parse External Data

Using SAS to Parse External Data Using SAS to Parse External Data Andrew T. Kuligowski presented to Calgary SUG on 25 Oct 2011 Edmonton SUG on 26 Oct 2011 Introduction Using SAS to Parse External Data Introduction Parsers A Primer (a

More information

The OLAPCONTENTS Procedure Shine the light onto your OLAP Cubes Jerry Copperthwaite, SAS Institute, Cary, NC

The OLAPCONTENTS Procedure Shine the light onto your OLAP Cubes Jerry Copperthwaite, SAS Institute, Cary, NC The OLAPCONTENTS Procedure Shine the light onto your OLAP Cubes Jerry Copperthwaite, SAS Institute, Cary, NC Introduction Prior to SAS 9.4, seeing the layout of your OLAP cube, its dimensions, hierarchies,

More information

Manipulating Statistical and Other Procedure Output to Get the Results That You Need

Manipulating Statistical and Other Procedure Output to Get the Results That You Need Paper SAS1798-2018 Manipulating Statistical and Other Procedure Output to Get the Results That You Need Vincent DelGobbo, SAS Institute Inc. ABSTRACT Many scientific and academic journals require that

More information

New (Useful & Cool) Features of Enterprise Guide 4.3

New (Useful & Cool) Features of Enterprise Guide 4.3 New (Useful & Cool) Features of Enterprise Guide 4.3 James Waite SAS Training Specialist (BI) Agenda Focus of Enhancements Programming Features Great references Demo Q & A Focus of Enhancements Some interface

More information

Getting Your Data into SAS The Basics. Math 3210 Dr. Zeng Department of Mathematics California State University, Bakersfield

Getting Your Data into SAS The Basics. Math 3210 Dr. Zeng Department of Mathematics California State University, Bakersfield Getting Your Data into SAS The Basics Math 3210 Dr. Zeng Department of Mathematics California State University, Bakersfield Outline Getting data into SAS -Entering data directly into SAS -Creating SAS

More information

ssh tap sas913 sas

ssh tap sas913 sas Fall 2010, STAT 430 SAS Examples SAS9 ===================== ssh abc@glue.umd.edu tap sas913 sas https://www.statlab.umd.edu/sasdoc/sashtml/onldoc.htm a. Reading external files using INFILE and INPUT (Ch

More information

Lab #3: Probability, Simulations, Distributions:

Lab #3: Probability, Simulations, Distributions: Lab #3: Probability, Simulations, Distributions: A. Objectives: 1. Reading from an external file 2. Create contingency table 3. Simulate a probability distribution 4. The Uniform Distribution Reading from

More information

The Power of Perl Regular Expressions: Processing Dataset-XML documents back to SAS Data Sets Joseph Hinson, inventiv Health, Princeton, NJ, USA

The Power of Perl Regular Expressions: Processing Dataset-XML documents back to SAS Data Sets Joseph Hinson, inventiv Health, Princeton, NJ, USA PharmaSUG 2016 - Paper AD08 The Power of Perl Regular Expressions: Processing Dataset-XML documents back to SAS Data Sets Joseph Hinson, inventiv Health, Princeton, NJ, USA ABSTRACT The seemingly intimidating

More information

TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT

TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT PRIMER FOR ACS OUTCOMES RESEARCH COURSE: TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT STEP 1: Install STATA statistical software. STEP 2: Read through this primer and complete the

More information

Transaction for HR. Mark Sommerville, Winshuttle

Transaction for HR. Mark Sommerville, Winshuttle Transaction for HR Mark Sommerville, Winshuttle Transaction For HR Automating your HCM business processes Hire to Retire Life Cycle Managing your Organizational structure Agenda Introductions Personnel

More information

Know Thy Data : Techniques for Data Exploration

Know Thy Data : Techniques for Data Exploration Know Thy Data : Techniques for Data Exploration Montreal SAS Users Group Wednesday, 29 May 2018 13:50-14:30 PM Andrew T. Kuligowski, Charu Shankar AGENDA Part 1- Easy Ways to know your data Part 2 - Powerful

More information

STAT:5400 Computing in Statistics

STAT:5400 Computing in Statistics STAT:5400 Computing in Statistics Introduction to SAS Lecture 18 Oct 12, 2015 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu SAS SAS is the statistical software package most commonly used in business,

More information

Files and Folders. A Basic Overview From Senior Computing Services.

Files and Folders. A Basic Overview From Senior Computing Services. Files and Folders A Basic Overview From Senior Computing Services www.seniorcomputingservices.com Definitions Files All content on your computer is stored as files Files may include text, pictures, music,

More information

Statements with the Same Function in Multiple Procedures

Statements with the Same Function in Multiple Procedures 67 CHAPTER 3 Statements with the Same Function in Multiple Procedures Overview 67 Statements 68 BY 68 FREQ 70 QUIT 72 WEIGHT 73 WHERE 77 Overview Several statements are available and have the same function

More information

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It

More information