For ETL activities, especially those on a larger scale, I prefer the rigour that DIS brings. It's a complete metadata-driven solution.
On a practical level, I have found the following differences when using EG4.1 for ETL tasks:
- EG does not have a loop construct
- EG does not have pre-built auditing, pre and post processing, data validation, lookup, and data loader transformations.
- Creating and using indexes in DIS is a couple of mouse clicks......more difficult in EG.
- Deploying code is more cumbersome in EG. For each job, an EG project must first be run, exported, and then deployed in SAS management console (if using Platform scheduling). DIS allows multiple jobs to be deployed with a single 'click'.
- Modifying EG projects can be a little tricky. An EG project can't be edited until it has first been run in the current session (except for custom code). If custom code is being edited, the project must be re-run to ensure the correct code is exported. An easy step to forget.
- DIS SQL transformation is more advanced than the EG query window. eg for performance tuning, multi-column outer joins (changed under EG4.3?)
- No proc append transform in EG
I find EG preferable to DIS for speed of development and debugging, although DIS4.2 appears much improved in this regard (along with some other nice enhancements).
For most of the differences I have listed, there are alternative solutions or workarounds. As Chris mentions above, the scale of your ETL tasks and whether or not you choose to adopt the 'discipline' are probably more important factors.
For ETL activities, especially those on a larger scale, I prefer the rigour that DIS brings. It's a complete metadata-driven solution.
On a practical level, I have found the following differences when using EG4.1 for ETL tasks:
- EG does not have a loop construct
- EG does not have pre-built auditing, pre and post processing, data validation, lookup, and data loader transformations.
- Creating and using indexes in DIS is a couple of mouse clicks......more difficult in EG.
- Deploying code is more cumbersome in EG. For each job, an EG project must first be run, exported, and then deployed in SAS management console (if using Platform scheduling). DIS allows multiple jobs to be deployed with a single 'click'.
- Modifying EG projects can be a little tricky. An EG project can't be edited until it has first been run in the current session (except for custom code). If custom code is being edited, the project must be re-run to ensure the correct code is exported. An easy step to forget.
- DIS SQL transformation is more advanced than the EG query window. eg for performance tuning, multi-column outer joins (changed under EG4.3?)
- No proc append transform in EG
I find EG preferable to DIS for speed of development and debugging, although DIS4.2 appears much improved in this regard (along with some other nice enhancements).
For most of the differences I have listed, there are alternative solutions or workarounds. As Chris mentions above, the scale of your ETL tasks and whether or not you choose to adopt the 'discipline' are probably more important factors.
I think what is more importat is to define if the information that will be used is on enterprise source or a local or stand-alone source.
If you need to build process that will read shared information on a enterprise repository I recommend DI.
I can to say that Guide is very useful for lab experiments, to generate short reports or short process for atend of temporal needs rather, use DI for robust processes, that will use information from enterprise source, will extract them and will transform them for put on another enterprise reporistory.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.