SAS and UNIX: Rerunning your batches in a smarter way Yaroslav Haiovyi, Intego Group, Kharkiv, Ukraine Frankfurt 2018
Three ways to run batches Batch № n __________________________ __________________________ __________________________ “makefile” Manual “runbatch” file ??? X "sas ad_asl.sas" X "sas qc_ad_asl.sas" X "sas ad_aefga.sas" X "sas qc_ad_aefga.sas" ........................... Page 2
Step-by-step solution Excel file “Makefile” SAS program SAS program Page 3
Structure of the “makefile” target : prerequisite1 … prerequisiteN <tab> command1 t(target) > t(prerequisite1) ? <tab> ……… ……………………….. <tab> commandN t(target) > t(prerequisiteN) ? A target is the name of a file that is generated by a program. A prerequisite is a file that is used as an input to create the target. A command is an action that should be run. Page 4
*.XLS input (Libraries) Libname_ Path_ sdtm_1 /project1/study1/SDTMFOLDER/ sdtm_2 /project2/study2/SDTMFOLDER/ sdtm ./SDTMFOLDER adam ./ADAMFOLDER outputs ./outputsfolder Libname_ : contains the name of libraries that are used in SAS program. Path_ : contains the path to the folders where the files are located. Need to be consistent with UNIX command line. Page 5
*.XLS input (Datasets) Relations_ Relations_ Libname_ Dataset_ Command_1 Command_QC Data Prog sdtm DM _empty_ _empty_ _empty_ _empty_ sdtm AE _empty_ _empty_ _empty_ _empty_ sdtm ZA _empty_ _empty_ _empty_ _empty_ adam ASL sdtm.DM ad_asl.sas sas ad_asl.sas sas qc_ad_asl.sas sdtm.GA adam AEFGA ad_aefga.sas sas ad_aefga.sas sas qc_ad_aefga.sas adam.ASL Page 6
*.XLS input (TLGs) Relations_ Relations_ Libname_ Output_ Command_1 Command_QC Data Prog adam.ASL outputs t_ga.out t_ga.sas sas t_ga.sas sas qc_t_ga.sas adam.AEFGA outputs l_ae_luc.out ADAM.asl l_ae_luc.sas sas l_ae_luc.sas _empty_ Page 7
Grouping order Datasets "RAWs_and_Other " "SDTMs" "ADaMs" TLGs “Tables" “Listings" “Graphs" Page 8
Sorting order Datasets All Groups TLGs Relations_ Relations_ Libname_ Dataset_ Libname_ Dataset_ Data Data sdtm DM _empty_ sdtm DM _empty_ sdtm ZA _empty_ sdtm ZA _empty_ adam ASL DELETED adam ASL sdtm.DM sdtm.ZA sdtm.ZA adam AEFGA adam AEFGA adam.ASL adam.ASL Page 9
Line-by-line creation System: "RAWs_and_Other " "SDTMs" "ADaMs" “Tables" “Listings" “Graphs" Page 10
“Chain” order Data Data Data 1 2 3 Not “Chain” order Data Data Data Data 3 1 1 2 Page 11
Choosy Rerun Rerun adam.ASL = Rerun everything ??? COMMAND is Run “Makefile” “SAS program” Compare Rename Create SAS program FILE and FILE to FILE OLD_FILE OLD_FILE 1. Keep FILE and delete OLD_FILE OR 2. Delete FILE and rename OLD_FILE Page 12
T H A N K YO U Yaroslav Haiovyi yaroslav.haiovyi@intego-group.com Kharkiv, Ukraine www.intego-group.com
Recommend
More recommend