Scott Barry

SAS tip: SET using stem file-value in DATA step code

Discussion created by Scott Barry on Oct 18, 2016

SAS tip:  Back in SAS 9.2 as I recall, SAS INSTITUTE enhanced the use of SET statement coding when you might want to consolidate several like SAS files (consider MICS cycles within a file / time-span).  Yes, MICS sites can use the %MFILE macro on a SET but still you must know how many cycles you want to select or use SAS OPTIONS NODSNFERR;    and code up to cycle "99" or something similar.

 

If the objective is to select all available MICS DETAIL BATJOBnn cycles then consider this coding technique:

 

SET  _BATX.BATJOB:   ;  /* trailing colon char selects all available cycles */

 

The use of either _BATX. or &BATX..  with the MICSSHRx JCL PROC execution allows MICS to determine where the BATCH INFO AREA files in DETAIL reside -- in case your MICS unit may be "split".

 

And remember to consider other SAS optimization coding techniques, such as using the WHERE statement instead of IF -- and depending on your needs consider adding the SET statement "dataset option"   (KEEP=<varlist>)   to reduce the SAS overhead with loading your input file(s) with the DATA STEP.

 

Regards,

 

Scott Barry

SBBWorks, Inc.

Outcomes