01-08-2017 06:43 AM - edited 01-08-2017 06:44 AM
Please, I would like to know more about the advantages and disadvantages of sas EG projet in general ?
In particular, what's the advantages and disadvantages of SAS EG Project versus " macro -program"
For the same project : Pr1
> first Method : using only sas macro-program %main_project ( this one call other sas macro pograms)
> second method : create a sas EG project contains ( %main_project and the others macro-programs)
01-08-2017 10:31 AM
01-08-2017 02:45 PM
Macro programs require hand coding. I can't see any advantage in putting just manual code into EG projects. The whole point of an EG project is use of the automated tasks.
01-08-2017 03:30 PM
I guess what to go for depends on the use case as well as personal preference.
If the macros get used in multiple projects then I'd store them in a folder which is part of the SAS Autocall facility and though would keep the code external to the project. But I also like to keep as much of the code used within a project so if these macro programs are only used in this specific project then I'd keep the code in the project.
What I normally avoid is to store code externally if only used in one project as this only adds the need for %include statements with path names in it which can add quite a bit of work when migrating EG project to another environment. You would also have to come up with some naming convention or folder structure in order to avoid overriding an external .sas file with a same named object from another EG project. ...but then may-be there is some versioning requirement and you want to check in your code as .sas files ...so "what's the right design decision" depends on requirements and constraints.
01-08-2017 04:52 PM - edited 01-08-2017 05:31 PM
@all:thank you all.
as you said "But I also like to keep as much of the code used within a project so if these macro programs are only used in this specific project then I'd keep the code in the project."
In this case , If I have a macro-programs : P1.sas, ..................., Pn.sas in folder /Test and I add them in SAS EG Project Pr.egp.
In this case , I will store the programs in two places : /test and Pr.egp ? in this case, autocall is better ?
01-08-2017 05:13 PM - edited 01-08-2017 07:20 PM
@LineMoon In this case , I will store the projects in two places
I wouldn't create copies of EG projects as then you'll have to keep all these copies in sync.
One of my main considerations for design decisions is maintenance and I certainly would avoid to have multiple active versions of the same code/EG project.
01-08-2017 05:55 PM
EG allows you to visualize a project/program flow, if done in an organized fashion with a systemic naming and comments method.
Code will not allow you see the relationships unless you trace out the programs. The SAS programs can still exist internally as in step 1.
01-08-2017 07:28 PM
At the end of the day it comes down to personal preferences. Unless your company dictates a method.
I would create a small project in each method and you'll get a feel for what works for you.
Look at EG features you don't have in Base, diagrams, multiple process flows, colour coding, prompts, links to Git etc and decide what you need and want.