Preserving your SAS Environment in a Non-Persistent World. A Detailed Guide to PROC PRESENV. Steven Gross, Wells Fargo, Irving, TX

Size: px
Start display at page:

Download "Preserving your SAS Environment in a Non-Persistent World. A Detailed Guide to PROC PRESENV. Steven Gross, Wells Fargo, Irving, TX"

Transcription

1 Preserving your SAS Environment in a Non-Persistent World A Detailed Guide to PROC PRESENV Steven Gross, Wells Fargo, Irving, TX ABSTRACT For Enterprise Guide users, one of the challenges often faced is doing large development in a non-persistent environment. A non-persistent environment is one in which the connection to the SAS server on the grid is disconnected after an extended period of idle time. This period could be hours or even, in some cases, as little as 30 minutes. Usually, when a SAS connection is terminated, all work datasets, LIBNAME references, macro variables and system settings are permanently lost. So, if a developer is in the midst of writing code, one step at a time, and has created numerous work datasets, macro variables, or non-permanent formats, if a session is involuntarily closed, all of that good work is lost. The only way (up until now) of restoring the environment was to re-execute the code up from the very beginning, up until the last written complete step. If, as is very common today in the world of BIG DATA, we are dealing with large work datasets, or very long code, this can possibly represent a significant investment of time, and can be a great source of frustration. INTRODUCTION Starting with SAS 9.4, a new procedure, called PRESENV, is now available which will store the current environment, including all work datasets, any compiled macro code, the values of any macro variables, and all temporary formats, as is, and enable it to be restored to a new SAS session at a later time. This paper will describe the use of the PRESENV system option and PRESENV procedure, in a practical, chronological sequence. The first section will describe what is required to preserve the environment. Afterwards, the next section will describe the steps needed to restore the environment once a new EG session is established.

2 I. USING PROC PRESNEV to PRESEVERE THE SAS ENVIRONMENT In order to save the SAS environment as is, only four simple pieces of code need to be added to any program being developed: For our purposes a simple SAS program, named presenv_example.sas will be used: options presenv; %let pgmname=presenv_example.sas; data work.cars; set sashelp.cars; proc summary data=cars nway; class make type; var msrp; output out=cars_mean(drop=_type freq_) mean(msrp)=avg_price; proc format; value cost low = 'Inexpensive' = 'Moderate' high = 'Expensive'; data cars_mean_ftmd; set cars_mean; budget=put(avg_price,cost.); libname bkuploc '/directory1/directory2/directory3/tmpbkup/'; filename restore /directory1/directory2/directory3/restoration_pgm.sas'; proc presenv permdir=bkuploc sascode=restore show_comments;

3 Explanation of Program Statements Required The PRESENV system option is required to enable PROC PRESENV to preserve the current SAS Environment. When the PRESENV option is set, SAS begins to collect the data that is needed to preserve the environment. Data is collected until either the NOPRESENV option is set or the SAS session ends. You can enable and disable the collection of data at any time during a SAS session. When NOPRESENV is set, data collection is suspended, but not discarded. The following elements of a SAS session are saved: All WORK library data sets, formats and catalogs global statement values macro variable values system option values LIBNAME points to the storage location where SAS will copy the contents of the WORK library when preserving the current SAS EG environment. Caution: This libref should never point to a storage location containing any other data, since prior to storing the SAS WORK datasets and catalogs, SAS will delete all of the contents of this library. Filename references the name and location of the code automatically created by SAS to restore the preserved environment. PROC PRESENV Initiates the preservation process. PERMDIR=libref specifies the location where the entire contents of the WORK library are written. SASCODE=fileref specifies the location where SAS will automatically write the program used to restore the environment. Optional Argument: SHOW_COMMENTS displays all global statements. Redundant global statements are commented out. If this option is not used, then the global statements are suppressed. Usage: During development, a programmer could leave the procedure PRSENV as the last executable step within the code while it is being developed.

4 Execution of PROC PRESENV When the PROC PRESENV contained in the above code is executed, the following log file NOTES are produced: WARNING: No matching members in directory. NOTE: PROCEDURE DATASETS used (Total process time): 0.01 seconds 0.01 seconds NOTE: Deleting BKUPLOC.CARS (memtype=data). NOTE: Deleting BKUPLOC.CARS_MEAN (memtype=data). NOTE: Deleting BKUPLOC.CARS_MEAN_FTMD (memtype=data). NOTE: Deleting BKUPLOC.FORMATS (memtype=catalog). NOTE: Deleting BKUPLOC.SASGOPT (memtype=catalog). NOTE: Deleting BKUPLOC.SASMAC1 (memtype=catalog). NOTE: PROCEDURE DATASETS used (Total process time): 0.03 seconds 0.01 seconds NOTE: Copying WORK.CARS to BKUPLOC.CARS (memtype=data). NOTE: There were 428 observations read from the data set WORK.CARS. NOTE: The data set BKUPLOC.CARS has 428 observations and 15variables. NOTE: Copying WORK.CARS_MEAN to BKUPLOC.CARS_MEAN (memtype=data). NOTE: There were 114 observations read from the data set WORK.CARS_MEAN. NOTE: The data set BKUPLOC.CARS_MEAN has 114 observations and 3 variables. NOTE: Copying WORK.CARS_MEAN_FTMD to BKUPLOC.CARS_MEAN_FTMD (memtype=data). NOTE: There were 114 observations read from the data set WORK.CARS_MEAN_FTMD. NOTE: The data set BKUPLOC.CARS_MEAN_FTMD has 114 observations and 4 variables. NOTE: Copying WORK.FORMATS to BKUPLOC.FORMATS (memtype=catalog). NOTE: Copying WORK.REGSTRY to BKUPLOC.REGSTRY (memtype=itemstor). NOTE: Copying WORK.SASGOPT to BKUPLOC.SASGOPT (memtype=catalog). NOTE: Copying WORK.SASMAC1 to BKUPLOC.SASMAC1 (memtype=catalog). NOTE: PROCEDURE COPY used (Total process time): 0.08 seconds

5 Explanation of Log File The very first action taken by PROC PRESENV is to prepare the location referenced by the libref in the PERMDIR statement, by deleting all of its contents. Note: Either or will be produced, but not both. If this is the very first execution of PROC PRESENV which references this location, its contents are empty, and there is nothing to delete. In this case, the log file will only contain the following: WARNING: No matching members in directory. If however, this is a subsequent execution of PROC PRESENV, and SAS has already previously copied datasets from the WORK Library here, they will need to be refreshed. To do so, SAS will delete the entire contents of the directory prior to performing another copy from the WORK Library here. WARNING: In either case, SAS will attempt to delete the entire contents of this directory. Therefore, it extremely critical that the library referenced by PERMDIR statement in the PRESENV procedure should never, under any circumstances, point to an existing location where any critical permanent data is stored. Instead, it should always be a location which is used only for the distinct purpose of saving the work datasets required by SAS to restore the environment. User created WORK data sets; temporary formats, CATALOGS and the contents of WORK.REGISTRY, WORK.SASGOPT, and WORK.SASMAC are copied to the location specified by the libref used in the PERMDIV statement of PROC PRESENV. Upon completion of the PRESENV procedure, this location now contains the following:

6 II. RESTORING THE SAS ENVIRONMENT SAS has made the restoration process exceedingly simple. Once a new EG session is established, the only action required by the developer is to execute the code which was automatically created by SAS and stored in the location referenced by filename in the SASCODE= statement of the PROC PRESENV procedure When the restoration_pgm.sas program is executed, SAS datasets which were copied in the previous session from the WORK Library to the library specified in the PRESENV procedure (bkuploc) are now copied back to the WORK library, and are ready to be used. The value of all previously defined macro variables and system options are also restored, and all macros, both system and user written, are recompiled. After executing the restoration_pgm.sas, the original development program, my_orig_pgm.sas can be reloaded back into EG, and development can now resume from where it was left off. The Restoration Source Code Created by PROC PRESENV OPTIONS presenv; LIBNAME BKUPLOC '/em_data1/ls_uat/em_data1/tds/admin/sasdata/tmpbkup/'; FILENAME RESTORE '/em_data1/ls_uat/em_data1/tds/admin/sas_code/restoration_pgm.sas'; %let saved_options=options %sysfunc(getoption(source)) %sysfunc(getoption(notes)) %sysfunc(getoption(obs,keyword)) %sysfunc(getoption(firstobs,keyword)); options obs=max firstobs=1; proc sql; create table _data_ as select distinct memname from dictionary.catalogs where libname='bkuploc' and memtype='catalog'; quit; data _null_; set; call execute( cats('proc catalog force c=bkuploc.',memname, '; copy out=work.',memname,'; quit;') ); proc delete; proc copy in=bkuploc out=work mt=data; quit;

7 data _null_; call symput('pgmname','/em_data1/ls_uat/em_data1/tds/admin/sas_code/presenv_example.sas' ); call symput('sasworklocation','222f6f70742f f726b2f f776f726b F F F776F726B F F22'X); call symput('_clientapp',' e 'x); call symput('_clientappabrev','eg' ); call symput('_clientmachine',' 'x); call symput('_clientprocessflowname',' f c6f7727'x); call symput('_clientprojectname',' e762e 'x); call symput('_clientprojectpath','272f656d5f f6c735f f656d5f f F41646D696E2F F436F64652F E762E 'X); call symput('_clienttasklabel',' e765f d706c6527'x); call symput('_clientuserid',' 'x); call symput('_clientusername',' f73732c e27'x); call symput('_clientversion','27372e e322e 'x); call symput('_eg_workspaceinit','1' ); call symput('_sashostname',' e77656c6c f2e636f6d27'x); call symput('_sasprogramfile','272f656d5f f6c735f f656d5f f F41646D696E2F F436F64652F E765F D706C652E 'X); call symput('_sasservername',' 'x); call symput('_metauser','u573687' ); call symput('afdsid','0' ); call symput('afdsname',trimn(' ')); call symput('aflib',trimn(' ')); call symput('afstr1',trimn(' ')); call symput('afstr2',trimn(' ')); call symput('fspbdv',trimn(' ')); options _last_=work.cars_mean_ftmd; One of the important things to note about the contents of the restoration program- restoration_pgm.sas is that it contains very little code from the original program presenv_example.sas, other that the LIBNAME associated with the PERMDIR statement and the FILEREF associated with the SASCODE statement of PROC PRESENV. All other SAS code statements found in restoration_pgm.sas are directly related to restoring the environment, and the original contents of the WORK library. For this reason, it is critical the original program, presenv_example.sas, be repeatedly saved as additional code is added by the developer.

8 Explanation of the Restore Program Statements: Re-assigns any LIBNAME and FILEREF statements used in the program containing PROC PRESENV. Minimally, the LIBNAME referenced in the PERMDIR statement and the FILEREF in the SASCODE statement need to be reassigned, so that they can be properly referenced within the restoration program itself. Reestablishes any system options used in the previous session. Determines the names of any CATALOGS which have been backed up to the PERMDIR location and places them into WORK.DATA1 Copies all macros and formats listed in WORK.DATA1 from the PERMDIV LIBNAME location, back into the WORK library Deletes WORK.DATA1 Copy all members with a member type of DATA from PERMDIR LIBNAME location to the WORK Library Restores all system and user macro variable values Reassign WORK.CARS_MEAN_FTMD as the last used dataset (last) WORK.CARS_MEAN_FTMD Log File Created From The Execution of the Restoration Program Upon execution of the above restoration program, the following log messages are produced: (for the purposes of brevity, the source code statements are not presented, as they are available above) NOTE: Libref BKUPLOC was successfully assigned as follows: Engine: V9 Physical Name: /em_data1/ls_uat/em_data1/tds/admin/sasdata/tmpbkup NOTE: Table WORK.DATA1 created, with 2 rows and 1 columns. NOTE: PROCEDURE SQL used (Total process time): NOTE: There were 2 observations read from the data set WORK.DATA1. NOTE: DATA statement used (Total process time): 0.02 seconds

9 0.01 seconds NOTE: CALL EXECUTE generated line. 1 + proc catalog force c=bkuploc.formats; copy out=work.formats; quit; NOTE: Copying entry COST.FORMAT from catalog BKUPLOC.FORMATS to catalog WORK.FORMATS. NOTE: PROCEDURE CATALOG used (Total process time): NOTE: Copying entry CHECKFMT.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry ECLIBASSIGN.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry ECLIBUNASSIGN.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry ENTERPRISEGUIDE.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry GETTSLVLPARAM2.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry _EG_CONDITIONAL_DROPDS.MACRO from catalog NOTE: Copying entry _EG_HIDENOTESANDSOURCE.MACRO from catalog NOTE: Copying entry _EG_RESTORENOTESANDSOURCE.MACRO from catalog NOTE: Copying entry _EG_WHEREPARAM.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry _SAS_POPCHARTSIZE.MACRO from catalog NOTE: Copying entry _SAS_PUSHCHARTSIZE.MACRO from catalog NOTE: Copying entry _SAS_VERCOMP.MACRO from catalog BKUPLOC.SASMAC1 to catalog WORK.SASMAC1. NOTE: Copying entry _SAS_VERCONDCODE.MACRO from catalog NOTE: PROCEDURE CATALOG used (Total process time): NOTE: Deleting WORK.DATA1(memtype=DATA). NOTE: PROCEDURE DELETE used (Total process time): NOTE: Copying BKUPLOC.CARS to WORK.CARS (memtype=data). NOTE: There were 428 observations read from the data set BKUPLOC.CARS. NOTE: The data set WORK.CARS has 428 observations and 15 variables. NOTE: Copying BKUPLOC.CARS_MEAN to WORK.CARS_MEAN (memtype=data).

10 NOTE: There were 114 observations read from the data set BKUPLOC.CARS_MEAN. NOTE: The data set WORK.CARS_MEAN has 114 observations and 3 variables. NOTE: Copying BKUPLOC.CARS_MEAN_FTMD to WORK.CARS_MEAN_FTMD (memtype=data). NOTE: There were 114 observations read from the data set BKUPLOC.CARS_MEAN_FTMD. NOTE: The data set WORK.CARS_MEAN_FTMD has 114 observations and 4 variables. NOTE: Copying BKUPLOC._PRODSAVAIL to WORK._PRODSAVAIL (memtype=data). NOTE: There were 8 observations read from the data set BKUPLOC._PRODSAVAIL. NOTE: The data set WORK._PRODSAVAIL has 8 observations and 6 variables. NOTE: PROCEDURE COPY used (Total process time): A careful examination of the log shows that SAS is restoring the environment by performing a series of copies from the bkuploc to the WORK LIBRARY. Upon completion, all previously created WORK datasets are again accessible. Formats have been restored, and the macro code and variable values can be used again. In short, everything that is needed to resume development from the point where it was stopped is now once again available. Once the restoration program has been executed, the only remaining step is to open the original development program and continue where coding was previously left off. CONCLUSION SAS has provided a relatively simple way to preserve your EG session and operate in an environment where your EG session my not be persistent. It is also important to note that even if your environment is persistent, other events may cause you to lose connectivity to the SAS server from your local machine, such as an automatic reboot. In that event, PROC PRESENV might be used simply overnight, as a precautionary measure. Other situations might be entirely voluntary, such as a vacation, or a plan to take a break for an extended period of time. Regardless of the reason, there are probably many practical situations in which PROC PRESENV can be extremely useful, and provide an added layer of stability to a very dynamic work environment.

11 Contact Information Steven Gross Business Consultant, Wells Fargo Technology and Data Services Wells Fargo Commercial Capital Credit Risk Modeling COE 5000 Riverside Drive, Suite 300 East, Irving, TX Office: (469) Cell: Acknowledgements Flexibility by Design: A Look at New and Updated System Options in SAS 9.4, Jan Squillace, SAS Technical Support, Cary, NC Further Reading PRESENV Procedure Base SAS 9.4 Procedures Guide, Seventh Edition SAS Institute 2017 Notices SAS is a registered trademark of SAS Institute Inc, in the U.S. and other countries

ABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE

ABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE Paper SA06 Painless Extraction: Options and Macros with PROC PRESENV Keith Fredlund, MS (candidate) Grand Valley State University, Allendale, Michigan; Thinzar Wai, MS (candidate) Grand Valley State University,

More information

Storing and Reusing Macros

Storing and Reusing Macros 101 CHAPTER 9 Storing and Reusing Macros Introduction 101 Saving Macros in an Autocall Library 102 Using Directories as Autocall Libraries 102 Using SAS Catalogs as Autocall Libraries 103 Calling an Autocall

More information

Using SAS/SHARE More Efficiently

Using SAS/SHARE More Efficiently Using More Efficiently by Philip R Holland, Holland Numerics Ltd, UK Abstract is a very powerful product which allow concurrent access to SAS Datasets for reading and updating. However, if not used with

More information

SAS Data Libraries. Definition CHAPTER 26

SAS Data Libraries. Definition CHAPTER 26 385 CHAPTER 26 SAS Data Libraries Definition 385 Library Engines 387 Library Names 388 Physical Names and Logical Names (Librefs) 388 Assigning Librefs 388 Associating and Clearing Logical Names (Librefs)

More information

FSEDIT Procedure Windows

FSEDIT Procedure Windows 25 CHAPTER 4 FSEDIT Procedure Windows Overview 26 Viewing and Editing Observations 26 How the Control Level Affects Editing 27 Scrolling 28 Adding Observations 28 Entering and Editing Variable Values 28

More information

Using the SQL Editor. Overview CHAPTER 11

Using the SQL Editor. Overview CHAPTER 11 205 CHAPTER 11 Using the SQL Editor Overview 205 Opening the SQL Editor Window 206 Entering SQL Statements Directly 206 Entering an SQL Query 206 Entering Non-SELECT SQL Code 207 Creating Template SQL

More information

The DATA Statement: Efficiency Techniques

The DATA Statement: Efficiency Techniques The DATA Statement: Efficiency Techniques S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT One of those SAS statements that everyone learns in the first day of class, the DATA statement rarely gets

More information

A simplistic approach to Grid Computing Edmonton SAS Users Group. April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial

A simplistic approach to Grid Computing Edmonton SAS Users Group. April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial A simplistic approach to Grid Computing Edmonton SAS Users Group April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial Grid Computing The Basics Points to Cover: Benefits of Grid Computing Server

More information

SAS Visual Analytics Environment Stood Up? Check! Data Automatically Loaded and Refreshed? Not Quite

SAS Visual Analytics Environment Stood Up? Check! Data Automatically Loaded and Refreshed? Not Quite Paper SAS1952-2015 SAS Visual Analytics Environment Stood Up? Check! Data Automatically Loaded and Refreshed? Not Quite Jason Shoffner, SAS Institute Inc., Cary, NC ABSTRACT Once you have a SAS Visual

More information

Uncommon Techniques for Common Variables

Uncommon Techniques for Common Variables Paper 11863-2016 Uncommon Techniques for Common Variables Christopher J. Bost, MDRC, New York, NY ABSTRACT If a variable occurs in more than one data set being merged, the last value (from the variable

More information

Posters. Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA. Paper

Posters. Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA. Paper Paper 223-25 Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA ABSTRACT As part of its effort to insure that SAS Software is useful to its users, SAS Institute

More information

Developing Data-Driven SAS Programs Using Proc Contents

Developing Data-Driven SAS Programs Using Proc Contents Developing Data-Driven SAS Programs Using Proc Contents Robert W. Graebner, Quintiles, Inc., Kansas City, MO ABSTRACT It is often desirable to write SAS programs that adapt to different data set structures

More information

Moving and Accessing SAS 9.2 Files

Moving and Accessing SAS 9.2 Files Moving and Accessing SAS 9.2 Files The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2008. Moving and Accessing SAS 9.2 Files. Cary, NC: SAS Institute Inc. Moving and

More information

Creating and Executing Stored Compiled DATA Step Programs

Creating and Executing Stored Compiled DATA Step Programs 465 CHAPTER 30 Creating and Executing Stored Compiled DATA Step Programs Definition 465 Uses for Stored Compiled DATA Step Programs 465 Restrictions and Requirements 466 How SAS Processes Stored Compiled

More information

Moving and Accessing SAS. 9.1 Files

Moving and Accessing SAS. 9.1 Files Moving and Accessing SAS 9.1 Files The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. Moving and Accessing SAS 9.1 Files. Cary, NC: SAS Institute Inc. Moving and

More information

Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse

Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Paper DM-01 Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Abstract Ben Cochran, The Bedford Group, Raleigh, NC Often SAS users need to access

More information

An Introduction to SAS/SHARE, By Example

An Introduction to SAS/SHARE, By Example Paper AD01 An Introduction to SAS/SHARE, By Example Larry Altmayer, U.S. Census Bureau, Washington, DC ABSTRACT SAS/SHARE software is a useful tool for allowing several users to access and edit the same

More information

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI Paper BI09-2012 BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI ABSTRACT Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto

More information

A Long-Time SAS Programmer Learns New Tricks

A Long-Time SAS Programmer Learns New Tricks Paper SAS637-2017 A Long-Time SAS Programmer Learns New Tricks Lisa Horwitz, SAS Institute Inc. ABSTRACT When a large and important project with a strict deadline hits your desk, it s easy to revert to

More information

A Long-Time SAS Programmer Learns New Tricks. DASUG Presentation by Lisa Horwitz, October 20, 2017

A Long-Time SAS Programmer Learns New Tricks. DASUG Presentation by Lisa Horwitz, October 20, 2017 A Long-Time SAS Programmer Learns New Tricks DASUG Presentation by Lisa Horwitz, October 20, 2017 Presenter Lisa Horwitz, SAS Lisa Horwitz is Partner Program Manager in the Global Alliances and Channels

More information

ABSTRACT MORE THAN SYNTAX ORGANIZE YOUR WORK THE SAS ENTERPRISE GUIDE PROJECT. Paper 50-30

ABSTRACT MORE THAN SYNTAX ORGANIZE YOUR WORK THE SAS ENTERPRISE GUIDE PROJECT. Paper 50-30 Paper 50-30 The New World of SAS : Programming with SAS Enterprise Guide Chris Hemedinger, SAS Institute Inc., Cary, NC Stephen McDaniel, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise Guide (with

More information

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Ben Cochran, The Bedford Group, Raleigh, NC Abstract Often SAS users need to access data from non- SAS

More information

A Methodology for Truly Dynamic Prompting in SAS Stored Processes

A Methodology for Truly Dynamic Prompting in SAS Stored Processes SESUG 2015 Paper AD-172 A Methodology for Truly Dynamic Prompting in SAS Stored Processes Haikuo Bian, Regions Bank; Carlos Jimenez, Regions Bank; David Maddox, Regions Bank ABSTRACT Dynamic prompts in

More information

Locking SAS Data Objects

Locking SAS Data Objects 59 CHAPTER 5 Locking SAS Data Objects Introduction 59 Audience 60 About the SAS Data Hierarchy and Locking 60 The SAS Data Hierarchy 60 How SAS Data Objects Are Accessed and Used 61 Types of Locks 62 Locking

More information

SAS File Management. Improving Performance CHAPTER 37

SAS File Management. Improving Performance CHAPTER 37 519 CHAPTER 37 SAS File Management Improving Performance 519 Moving SAS Files Between Operating Environments 520 Converting SAS Files 520 Repairing Damaged Files 520 Recovering SAS Data Files 521 Recovering

More information

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently. 255 APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software Introduction 255 Generating a QMF Export Procedure 255 Exporting Queries from QMF 257 Importing QMF Queries into Query and Reporting 257 Alternate

More information

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority SAS 101 Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23 By Tasha Chapman, Oregon Health Authority Topics covered All the leftovers! Infile options Missover LRECL=/Pad/Truncover

More information

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency.

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency. Paper 76-28 Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT In this paper we compare

More information

How to Create Data-Driven Lists

How to Create Data-Driven Lists Paper 9540-2016 How to Create Data-Driven Lists Kate Burnett-Isaacs, Statistics Canada ABSTRACT As SAS programmers we often want our code or program logic to be driven by the data at hand, rather than

More information

SAS/FSP 9.2. Procedures Guide

SAS/FSP 9.2. Procedures Guide SAS/FSP 9.2 Procedures Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2008. SAS/FSP 9.2 Procedures Guide. Cary, NC: SAS Institute Inc. SAS/FSP 9.2 Procedures

More information

Optimizing System Performance

Optimizing System Performance 243 CHAPTER 19 Optimizing System Performance Definitions 243 Collecting and Interpreting Performance Statistics 244 Using the FULLSTIMER and STIMER System Options 244 Interpreting FULLSTIMER and STIMER

More information

Migration to SAS Grid: Steps, Successes, and Obstacles for Performance Qualification Script Testing

Migration to SAS Grid: Steps, Successes, and Obstacles for Performance Qualification Script Testing PharmaSUG 2017 - Paper AD16 Migration to SAS Grid: Steps, Successes, and Obstacles for Performance Qualification Script Testing Amanda Lopuski, Chiltern, King of Prussia, PA Yongxuan Mike Tan, Chiltern,

More information

Submitting Code in the Background Using SAS Studio

Submitting Code in the Background Using SAS Studio ABSTRACT SAS0417-2017 Submitting Code in the Background Using SAS Studio Jennifer Jeffreys-Chen, SAS Institute Inc., Cary, NC As a SAS programmer, how often does it happen that you would like to submit

More information

Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE

Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE ABSTRACT Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE Steve Cavill, NSW Bureau of Crime Statistics and Research, Sydney, Australia PROC TABULATE is a great tool for generating

More information

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China Journey to the center of the earth Deep understanding of SAS language processing Di Chen, SAS Beijing R&D, Beijing, China ABSTRACT SAS is a highly flexible and extensible programming language, and a rich

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

DBLOAD Procedure Reference

DBLOAD Procedure Reference 131 CHAPTER 10 DBLOAD Procedure Reference Introduction 131 Naming Limits in the DBLOAD Procedure 131 Case Sensitivity in the DBLOAD Procedure 132 DBLOAD Procedure 132 133 PROC DBLOAD Statement Options

More information

Using Maps with the JSON LIBNAME Engine in SAS Andrew Gannon, The Financial Risk Group, Cary NC

Using Maps with the JSON LIBNAME Engine in SAS Andrew Gannon, The Financial Risk Group, Cary NC Paper 1734-2018 Using Maps with the JSON LIBNAME Engine in SAS Andrew Gannon, The Financial Risk Group, Cary NC ABSTRACT This paper serves as an introduction to reading JSON data via the JSON LIBNAME engine

More information

SAS Catalogs. Definition. Catalog Names. Parts of a Catalog Name CHAPTER 32

SAS Catalogs. Definition. Catalog Names. Parts of a Catalog Name CHAPTER 32 479 CHAPTER 32 SAS Catalogs Definition 479 Catalog Names 479 Parts of a Catalog Name 479 Accessing Information in Catalogs 480 Tools for Managing Catalogs 480 User Profile Catalog 481 Definition 481 How

More information

Presentation Goals. Now that You Have Version 8, What Do You Do? Top 8 List: Reason #8 Generation Data Sets. Top 8 List

Presentation Goals. Now that You Have Version 8, What Do You Do? Top 8 List: Reason #8 Generation Data Sets. Top 8 List Presentation Goals Now that You Have Version 8, What Do You Do? Michael L. Davis Bassett Consulting Services, Inc. September 13, 2000 highlight incentives to switch consider migration strategies identify

More information

The SERVER Procedure. Introduction. Syntax CHAPTER 8

The SERVER Procedure. Introduction. Syntax CHAPTER 8 95 CHAPTER 8 The SERVER Procedure Introduction 95 Syntax 95 Syntax Descriptions 96 Examples 101 ALLOCATE SASFILE Command 101 Syntax 101 Introduction You invoke the SERVER procedure to start a SAS/SHARE

More information

QUEST Procedure Reference

QUEST Procedure Reference 111 CHAPTER 9 QUEST Procedure Reference Introduction 111 QUEST Procedure Syntax 111 Description 112 PROC QUEST Statement Options 112 Procedure Statements 112 SYSTEM 2000 Statement 114 ECHO ON and ECHO

More information

A Practical Introduction to SAS Data Integration Studio

A Practical Introduction to SAS Data Integration Studio ABSTRACT A Practical Introduction to SAS Data Integration Studio Erik Larsen, Independent Consultant, Charleston, SC Frank Ferriola, Financial Risk Group, Cary, NC A useful and often overlooked tool which

More information

Introduction to the SAS System

Introduction to the SAS System Introduction to the SAS System The SAS Environment The SAS Environment The SAS Environment has five main windows The SAS Environment The Program Editor The SAS Environment The Log: Notes, Warnings and

More information

Importing CSV Data to All Character Variables Arthur L. Carpenter California Occidental Consultants, Anchorage, AK

Importing CSV Data to All Character Variables Arthur L. Carpenter California Occidental Consultants, Anchorage, AK PharmaSUG 2017 QT02 Importing CSV Data to All Character Variables Arthur L. Carpenter California Occidental Consultants, Anchorage, AK ABSTRACT Have you ever needed to import data from a CSV file and found

More information

Utilizing the Stored Compiled Macro Facility in a Multi-user Clinical Trial Setting

Utilizing the Stored Compiled Macro Facility in a Multi-user Clinical Trial Setting Paper AD05 Utilizing the Stored Compiled Macro Facility in a Multi-user Clinical Trial Setting Mirjana Stojanovic, Duke University Medical Center, Durham, NC Dorothy Watson, Duke University Medical Center,

More information

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR;

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR; ET01 Demystifying the SAS Excel LIBNAME Engine - A Practical Guide Paul A. Choate, California State Developmental Services Carol A. Martell, UNC Highway Safety Research Center ABSTRACT This paper is a

More information

Using SAS Files CHAPTER 3

Using SAS Files CHAPTER 3 55 CHAPTER 3 Using SAS Files Introduction to SAS Files 56 What Is a SAS File? 56 Types of SAS Files 57 Using Short or Long File Extensions in SAS Libraries 58 SAS Data Sets (Member Type: Data or View)

More information

Getting Classy: A SAS Macro for CLASS Statement Automation

Getting Classy: A SAS Macro for CLASS Statement Automation Getting Classy: A SAS Macro for CLASS Statement Automation ABSTRACT When creating statistical models that include multiple covariates, it is important to address which variables are considered categorical

More information

CHAPTER 7 Using Other SAS Software Products

CHAPTER 7 Using Other SAS Software Products 77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80

More information

Loading Data. Introduction. Understanding the Volume Grid CHAPTER 2

Loading Data. Introduction. Understanding the Volume Grid CHAPTER 2 19 CHAPTER 2 Loading Data Introduction 19 Understanding the Volume Grid 19 Loading Data Representing a Complete Grid 20 Loading Data Representing an Incomplete Grid 21 Loading Sparse Data 23 Understanding

More information

SAS Viya 3.1 FAQ for Processing UTF-8 Data

SAS Viya 3.1 FAQ for Processing UTF-8 Data SAS Viya 3.1 FAQ for Processing UTF-8 Data Troubleshooting Tips for Processing UTF-8 Data (Existing SAS Code) What Is the Encoding of My Data Set? PROC CONTENTS displays information about the data set

More information

April 4, SAS General Introduction

April 4, SAS General Introduction PP 105 Spring 01-02 April 4, 2002 SAS General Introduction TA: Kanda Naknoi kanda@stanford.edu Stanford University provides UNIX computing resources for its academic community on the Leland Systems, which

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

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

Compute Service: A RESTful Approach to the SAS Programming Environment

Compute Service: A RESTful Approach to the SAS Programming Environment Paper SAS2083-2018 Compute Service: A RESTful Approach to the SAS Programming Environment Jason Spruill and Joseph Henry, SAS Institute Inc., Cary, NC ABSTRACT SAS Viya provides an open architecture that

More information

Best Practice for Creation and Maintenance of a SAS Infrastructure

Best Practice for Creation and Maintenance of a SAS Infrastructure Paper 2501-2015 Best Practice for Creation and Maintenance of a SAS Infrastructure Paul Thomas, ASUP Ltd. ABSTRACT The advantage of using metadata to control and maintain data and access to data on databases,

More information

DATA Step Debugger APPENDIX 3

DATA Step Debugger APPENDIX 3 1193 APPENDIX 3 DATA Step Debugger Introduction 1194 Definition: What is Debugging? 1194 Definition: The DATA Step Debugger 1194 Basic Usage 1195 How a Debugger Session Works 1195 Using the Windows 1195

More information

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA ABSTRACT The SAS system running in the Microsoft Windows environment contains a multitude of tools

More information

Procedures. PROC CATALOG CATALOG=<libref.>catalog <ENTRYTYPE=etype> <KILL>; CONTENTS <OUT=SAS-data-set> <FILE=fileref;>

Procedures. PROC CATALOG CATALOG=<libref.>catalog <ENTRYTYPE=etype> <KILL>; CONTENTS <OUT=SAS-data-set> <FILE=fileref;> 355 CHAPTER 19 Procedures SAS Procedures under Windows 355 CATALOG 355 CIMPORT 356 CONTENTS 357 CONVERT 358 CPORT 361 DATASETS 361 OPTIONS 363 PMENU 364 PRINTTO 365 SORT 367 SAS Procedures under Windows

More information

Using SAS Files. Introduction to SAS Files, Data Libraries, and Engines CHAPTER 4

Using SAS Files. Introduction to SAS Files, Data Libraries, and Engines CHAPTER 4 83 CHAPTER 4 Using SAS Files Introduction to SAS Files, Data Libraries, and Engines 83 Types of SAS Files 84 SAS Data Files (Member Type DATA) 85 SAS Data Views (Member Type VIEW) 85 Filename Extensions

More information

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY PharmaSUG 2014 - Paper BB14 A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY ABSTRACT Clinical Study

More information

SAS/ASSIST Software Setup

SAS/ASSIST Software Setup 173 APPENDIX 3 SAS/ASSIST Software Setup Appendix Overview 173 Setting Up Graphics Devices 173 Setting Up Remote Connect Configurations 175 Adding a SAS/ASSIST Button to Your Toolbox 176 Setting Up HTML

More information

SAS System Powers Web Measurement Solution at U S WEST

SAS System Powers Web Measurement Solution at U S WEST SAS System Powers Web Measurement Solution at U S WEST Bob Romero, U S WEST Communications, Technical Expert - SAS and Data Analysis Dale Hamilton, U S WEST Communications, Capacity Provisioning Process

More information

Purchase this book at

Purchase this book at Chapter 2 2 Creating Simple Stored Processes BASE SAS gives programmers the exponential ability to query and report about data from their desktops; however, this limitation means that a user can access

More information

Taming a Spreadsheet Importation Monster

Taming a Spreadsheet Importation Monster SESUG 2013 Paper BtB-10 Taming a Spreadsheet Importation Monster Nat Wooding, J. Sargeant Reynolds Community College ABSTRACT As many programmers have learned to their chagrin, it can be easy to read Excel

More information

Upgrading Software and Firmware

Upgrading Software and Firmware APPENDIXB This appendix describes how to upgrade or reinstall the Cisco PAM server software, desktop client software, and Gateway module firmware. Contents Upgrade Notes for Release 1.1.0, page B-2 Upgrading

More information

Data Quality Review for Missing Values and Outliers

Data Quality Review for Missing Values and Outliers Paper number: PH03 Data Quality Review for Missing Values and Outliers Ying Guo, i3, Indianapolis, IN Bradford J. Danner, i3, Lincoln, NE ABSTRACT Before performing any analysis on a dataset, it is often

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

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

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ Paper CC16 Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed William E Benjamin Jr, Owl Computer

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming

More information

Running Multiple SAS/AF Applications in a Single SAS Session Mark L. Schneider, SAS Institute Inc., Cary, NC

Running Multiple SAS/AF Applications in a Single SAS Session Mark L. Schneider, SAS Institute Inc., Cary, NC Running Multiple SAS/AF Applications in a Single SAS Session Mark L. Schneider, SAS Institute Inc., Cary, NC ABSTRACT For years internal users of Institute tools have been struggling with the startup time

More information

Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research

Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research ABSTRACT In the course of producing a report for a clinical trial numerous drafts

More information

TRIM Integration with Data Protector

TRIM Integration with Data Protector TRIM Integration with Data Protector Table of Contents Introduction... 3 Prerequisites... 3 TRIM Internals... 3 TRIM s Data Organization... 3 TRIM s Architecture... 4 Implications for Backup... 4 Sample

More information

SESUG Paper AD A SAS macro replacement for Dynamic Data Exchange (DDE) for use with SAS grid

SESUG Paper AD A SAS macro replacement for Dynamic Data Exchange (DDE) for use with SAS grid SESUG Paper AD-109-2017 A macro replacement for Dynamic Data Exchange (DDE) for use with grid ABSTRACT Saki Kinney, David Wilson, and Benjamin Carper, RTI International The ability to write to specific

More information

10 The First Steps 4 Chapter 2

10 The First Steps 4 Chapter 2 9 CHAPTER 2 Examples The First Steps 10 Invoking the Query Window 11 Changing Your Profile 11 ing a Table 13 ing Columns 14 Alias Names and Labels 14 Column Format 16 Creating a WHERE Expression 17 Available

More information

A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN

A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN Paper 045-29 A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN ABSTRACT: PROC MEANS analyzes datasets according to the variables listed in its Class

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

SAS/ACCESS Interface to R/3

SAS/ACCESS Interface to R/3 9.1 SAS/ACCESS Interface to R/3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS/ACCESS 9.1 Interface to R/3: User s Guide. Cary, NC: SAS Institute

More information

2. Referencing Files and Sepng Op+ons. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming» 47

2. Referencing Files and Sepng Op+ons. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming» 47 2. Referencing Files and Sepng Op+ons GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming» 47 Defining SAS libraries To reference a permanent SAS file you: - Assign a name (libref)

More information

SAS Scalable Performance Data Server 4.45

SAS Scalable Performance Data Server 4.45 SAS Scalable Performance Data Server 4.45 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2008. SAS Scalable Performance Data Server

More information

Make it a Date! Setting up a Master Date View in SAS

Make it a Date! Setting up a Master Date View in SAS SCSUG Paper 19-2017 Make it a Date! Setting up a Master Date View in SAS Crystal Carel, MPH¹ ² ¹STEEEP Analytics, Baylor Scott & White Health, Dallas, TX ²Northern Illinois University, College of Health

More information

ABSTRACT. Paper CC-031

ABSTRACT. Paper CC-031 Paper CC-031 Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code Ronald J. Fehd, Centers for Disease Control and Prevention, Atlanta, GA, USA ABSTRACT Audience Keywords Information

More information

An Introduction to SAS/FSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California

An Introduction to SAS/FSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California An Introduction to SAS/FSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California ABSTRACT SAS/FSP is a set of procedures used to perform full-screen interactive

More information

Knit Perl and SAS Software for DIY Web Applications

Knit Perl and SAS Software for DIY Web Applications Knit Perl and SAS Software for DIY Web Applications Abstract Philip R Holland, Consultant, Holland Numerics Limited, UK If your organisation develops a web-based SAS application for 30+ users, then the

More information

Exploring DICTIONARY Tables and SASHELP Views

Exploring DICTIONARY Tables and SASHELP Views Exploring DICTIONARY Tables and SASHELP Views Kirk Paul Lafler, Software Intelligence Corporation Abstract SAS users can quickly and conveniently obtain useful information about their SAS session with

More information

SAS. Studio 4.1: User s Guide. SAS Documentation

SAS. Studio 4.1: User s Guide. SAS Documentation SAS Studio 4.1: User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2016. SAS Studio 4.1: User s Guide. Cary, NC: SAS Institute Inc. SAS

More information

Using SAS Files CHAPTER 3

Using SAS Files CHAPTER 3 77 CHAPTER 3 Using SAS Files Introduction to SAS Files 78 What Is a SAS File? 78 Types of SAS Files 79 Using Short or Long File Extensions in SAS Libraries 80 SAS Data Sets (Member Type: Data or View)

More information

Useful Tips from my Favorite SAS Resources

Useful Tips from my Favorite SAS Resources Useful Tips from my Favorite SAS Resources Marje Fecht Senior Partner, Prowerk Consulting Copyright 2017 Prowerk Consulting 1 You need an answer QUICK! I don t want to run the whole program if the input

More information

Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA

Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA ABSTRACT Removing duplicate observations from a data set is not as easy as it might

More information

Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC

Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC AP06 Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC ABSTRACT By default, SAS compiles and stores all macros into the WORK

More information

The Three I s of SAS Log Messages, IMPORTANT, INTERESTING, and IRRELEVANT William E Benjamin Jr, Owl Computer Consultancy, LLC, Phoenix AZ.

The Three I s of SAS Log Messages, IMPORTANT, INTERESTING, and IRRELEVANT William E Benjamin Jr, Owl Computer Consultancy, LLC, Phoenix AZ. ABSTRACT Paper TT_14 The Three I s of SAS Log Messages, IMPORTANT, INTERESTING, and IRRELEVANT William E Benjamin Jr, Owl Computer Consultancy, LLC, Phoenix AZ. I like to think that SAS error messages

More information

Data Grids in Business Rules, Decisions, Batch Scoring, and Real-Time Scoring

Data Grids in Business Rules, Decisions, Batch Scoring, and Real-Time Scoring Paper SAS605-2017 Data Grids in Business Rules, Decisions, Batch Scoring, and Real-Time Scoring Carl Sommer, Chris Upton, and Ernest Jessee, SAS Institute Inc. ABSTRACT Users want more power. SAS delivers.

More information

A Quick and Gentle Introduction to PROC SQL

A Quick and Gentle Introduction to PROC SQL ABSTRACT Paper B2B 9 A Quick and Gentle Introduction to PROC SQL Shane Rosanbalm, Rho, Inc. Sam Gillett, Rho, Inc. If you are afraid of SQL, it is most likely because you haven t been properly introduced.

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

CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services

CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services 55 CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services Introduction 55 Example 1. Compute Services and Data Transfer Services Combined: Local and Remote Processing 56 Purpose 56

More information

Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China

Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China PharmaSUG China 2015 - Paper PO71 Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China One of the reasons that SAS is widely used as the

More information

Divide and Conquer Writing Parallel SAS Code to Speed Up Your SAS Program

Divide and Conquer Writing Parallel SAS Code to Speed Up Your SAS Program SESUG 2016 Paper PA-265 Divide and Conquer Writing Parallel SAS Code to Speed Up Your SAS Program Doug Haigh, SAS Institute Inc., Cary, NC ABSTRACT Being able to split SAS processing over multiple SAS

More information

Statements. Previous Page Next Page. SAS 9.2 Language Reference: Dictionary, Third Edition. Definition of Statements. DATA Step Statements

Statements. Previous Page Next Page. SAS 9.2 Language Reference: Dictionary, Third Edition. Definition of Statements. DATA Step Statements Page 1 of 278 Previous Page Next Page SAS 9.2 Language Reference: Dictionary, Third Edition Statements Definition of Statements DATA Step Statements Global Statements ABORT Statement ARRAY Statement Array

More information