Watch this Ask the Expert session to learn about the benefits of the SAS Enterprise Guide integration with Viya 4.
You will learn how to:
The questions from the Q&A segment held at the end of the webinar are listed below and the slides from the webinar are attached.
Q&A
If my SAS Enterprise Guide project files have a master program containing a lot of macro and base code, as well as %include calls to other SAS programs, could that be run on a SAS Viya 4 server?
Yes, most SAS code statements are support on a SAS Viya 4 server, notable exceptions are SAS metadata related statements, like procedures and functions interacting with SAS Metadata Server.
If your SAS Viya deployment has been setup to use the same folder structure on the file system as your SAS 9 deployment, then %include calls should continue to work.
On the other hand, if your SAS code contains references to paths/folders on the file system and these paths differ between your SAS 9 and SAS Viya deployment, then obviously these need changing. A best practice approach always has been to extract paths, or at least a “root path” into SAS macro variables or use environment variables to represent those root paths and retrieve their values and into SAS macro variables. This allows for changing the paths once in a single location, so file/infile/%include continue to use the right path.
SAS Content Assessment has a utility to scan your .sas files for paths and will help you identify where they occur. You could then use standard OS utilities to perform search and replace operations across a selection of .sas files.
Once a project is saved in SAS Enterprise Guide 8.4, can it be be opened in version 8.3 or any prior versions?
Yes, this should work for 8.x releases. But keep in mind that SAS Viya 4 server definitions are not available in prior releases. So when opening such a project will show an error and you will need to update all the nodes in the project that are associated with a SAS Viya 4 server. But Tools -> Project maintenance should allow you to do that quickly.
Be aware of a hotfix for older 8.x releases as described in https://support.sas.com/kb/66/380.html.
Can SAS Enterprise Guide 8.4 read 7.1 files?
Yes, you can just open them, and it will convert them on the fly. When you save them, they will be saved in the 8.4 format.
SAS Studio supports "Jobs" that can use prompts. Does SAS Enterprise Guide 8.4 support running "Jobs" and if so, does it support the prompting framework?
SAS Enterprise Guide is a Windows desktop application that uses SAS 9 technologies in the UI and can connect to SAS Viya. SAS code in a Program task in SAS Enterprise Guide can use proc http to execute SAS Viya jobs, because job definitions have a public REST API (https://developers.sas.com/rest-apis?categories=compute_and_jobs). If the SAS Viya job has parameters, then proc http can provide values for those parameters. But SAS Viya job definitions that have prompts, use a prompting framework that is not supported by SAS Enterprise Guide and therefore SAS Enterprise Guide cannot display an interactive panel that shows those SAS Viya prompts.
If I have a query builder that uses the CALCULATED keyword, will this cause issues?
No, it shouldn't. The Query Builder generates proc SQL and the CALCULATED keyword is supported on a SAS Viya 4 Compute Server.
There was a "conversion tool" mentioned immediately before talking about Content Assessment - what was the name of that tool?
Migrationwizard.exe, it's on the slide titled “Modifying Projects – SAS Enterprise Guide’s Project Tools”. It can be found in the EG installation directory and documentation can be found on here. The tool allows you to convert older versions of projects to the latest version. It also allows you to update certain parts of the projects, like server associations, data source associations, and so forth. It is very similar to what was shown in the Project maintenance demo (Tools pulldown menu) during the webinar, but the Migration Wizard also allows for applying updates to multiple EG projects in one go and has support for remembering mappings defined during a previous invocation.
I am SAS Enterprise Guide EG 7.x user and have not used SAS Viya yet. Is it correct that it is an option to run one project on a SAS server, and for a different project, I can switch to a SAS Viya server to make use of the different functions there? Are the SAS servers planned to be discontinued at some point, or no? Is it only metadata functionality that is lost by using the SAS Viya server? (Meaning, why would I not want to always run on Viya server?)
SAS Enterprise Guide 8.4. allows for a mixture of SAS 9 local, SAS 9 remote (Windows or Unix server), and SAS Viya 4 connections in the same process flow. You can also create projects and/or process flows for a specific server. So fully flexible, the choice is yours.
Regarding plans for discontinuing SAS 9 servers: No there are currently no plans. During SAS Innovate last year it was announced that we now have a separate SAS division which continues supporting SAS 9. For the foreseeable future, SAS 9 is alive and kicking.
Regarding what functionality do I lose when using a SAS Viya 4 server: If you are not using SAS Information Maps or SAS Stored Processes or SAS code constructs, like proc metadata or metadata data step functions, that require interaction with the metadata server, then indeed you can run the project against a SAS Viya compute server. You get all the benefits of that. It’s a central server running inside a container, so centrally managed. Using SAS Workload Management you can even pre-started servers and take advantage of queues . You can scale down and scale up to get all the benefits from cloud and cloud maintenance. If you can use SAS Viya, we strongly encourage you to use it.
In our organization, we are required to alter our password periodically. Does that count as a (new) first sign on? In other words, does this have an effect on the authorization?
NOTE: The answer provided during the interactive Q&A session was not correct.
No, tokens are not invalidated if the user’s password changes. SAS Viya doesn’t know if the user’s password changes since it is stored in the customer’s external identity provider (e.g., Microsoft AD)
Are we able to install SAS Viya on any cloud? When SAS Enterprise Guide is installed on on-prem Citrix server and accesses SAS 9 workspace server and SAS Cloud Analytics Server, is it enough to open firewall rules? Or are any additional procedures required?
SAS Viya runs on all three major cloud providers. It also supports Red Hat OpenShift and open source Kubernetes, more details can be found in the SAS Viya Platform Operations Guide, see section Virtual Infrastructure Requirements (https://go.documentation.sas.com/doc/en/itopscdc/default/itopssr/n1ika6zxghgsoqn1mq4bck9dx695.htm). So you can run it on-prem in your own Kubernetes environment, but still have the benefits of containers and container management.
Regarding SAS Enterprise Guide client on Windows on a Citrix server, yes that works. The ports that need to be open to connect to a SAS 9 server haven’t changed. When SAS Enterprise Guide connects to SAS Viya 4 Compute Server, it performs REST calls over HTTPS, so that HTTPS port needs to be open. When SAS Viya 4 Compute Server then connects to SAS Cloud Analytic Services, all of that happens within the SAS Viya deployment. Note that SAS Enterprise Guide only talks directly to SAS Viya Compute server, and the compute server then interacts with SAS Cloud Analytics Server.
I've heard that SAS Enterprise Guide (EGUIDE) will be one of tools within in SAS Viya in future, is it true?
SAS Enterprise Guide is a Windows application that can connect to SAS Viya 4. SAS has been working on, and continues to work on, extending SAS Studio, which is a web-based SAS Viya application. Many of our customers are reducing their use of Windows desktop applications and are moving to browser-based applications. SAS Studio is continuously being enhanced to support more and more tasks. During last month alone we've added more than 5 new steps to SAS Studio, which are equivalents of SAS Enterprise Guide tasks. SAS Enterprise Guide remains a Windows desktop application. The "web version of SAS Enterprise Guide" will ultimately be SAS Studio.
How is the connection with AWS S3? It's native?
SAS connects directly to S3. We support access to S3 from both SAS Viya Compute Server and SAS Cloud Analytic Services. Here are a few pointers for more information:
Is it possible to view the report in SAS Visual Analytics (VA)? Also, does it support other programming language like "R"?
Regarding "the report": If this is asking about the Report node, functionality like “Send to Microsoft Word/Excel/PowerPoint” should work when using a SAS Viya connection as long as you have the SAS Add-In for Microsoft Office installed. Also, the “Export” functionality available on the Report node still works, but of course creates a .SRX file and requires SAS Web Report Studio to open it. Then there are a few capabilities, like Publish, that require a connection to SAS Metadata Server to find SAS Folders or Publishing Channels defined in SAS Metadata Server. Also keep in mind that you could modify your project in SAS Enterprise Guide to create tables in SAS Cloud Analytic Services, which can then be used in SAS Visual Analytics reports.
Regarding support for R: SAS has a repository on GitHub (https://github.com/sassoftware/R-swat), which is an R package that enables you to interface with SAS Cloud Analytic Services. SAS Model Manager supports models developed in R. Then there is also proc IML which supports calling R packages. And there is a custom step called R Runner in the SAS Studio Custom Steps repository on GitHub that uses proc python and the rpy2 package to run R code. You could mimic this in a Program task in SAS Enterprise Guide.
(Rephrased) I am SAS developer and see Open Source projects, like Python and R, being used in many organizations as they are open source. How can SAS integrate with these?
SAS supports integration of Python and R code in SAS data pipelines and SAS analytical models and some of this was shown during the webinar. Also see the question above. Additionally, Python and R can also integrate SAS using the SAS Open Source projects like SASPy and others on GitHub (see https://github.com/sassoftware). Furthermore, SAS Viya has a wide range of public REST APIs that are documented on https://developer.sas.com, which allows developers to integrate SAS processing into any application.
Does SAS Enterprise Guide with Viya 4 makes it faster?
Yes, depending on the use case, your SAS code can run faster. SAS Enterprise Guide connects to SAS Viya 4 Compute Server. SAS Viya Workload Management allows for defining queues and associations to host types. Where a host type represents a set of resources, which can include CPU/memory/… and allows for automatically scaling up/down. When you enhance your SAS code to connect to SAS Cloud Analytic Services and have the processing run there, transformations can run in parallel to process large amounts of data more quickly.
Is SAS Enterprise Guide still going to be a part of the SAS Viya workbench?
SAS Viya Workbench plans to support using SAS Enterprise Guide as an environment to author your SAS code.
Recommended Resources
SAS Enterprise Guide Product Page
Please see additional resources in the attached slide deck.
Want more tips? Be sure to subscribe to the Ask the Expert board to receive follow up Q&A, slides and recordings from other SAS Ask the Expert webinars.
hello @Wilbram-SAS , I have followed your workshop and have successfully established connection with Viya 4. I am now able to see the SAS 9.4 folders from Viya in the left panel of EG and also my mounted path in Viya. However when assigning caslibs they are not visible in the left panel. Is this correct or am I missing something? regards Karolina T
Hi @touwen_k , when you define a caslib the CAS server knows about the data library. Until you assign a libref in your compute session to point to that caslib, compute has no knowledge of the data source and therefore EG neither. You define such a libname as follows:
libname mycasdata CAS caslib="<name-of-caslib-goes-here>";
hello Wilbram, valid point, in the Viya connection you have only compute server to your disposal and through that cas server. I have tried your code, it works fine, I have only shortened the libref to 8 signs. I will not use code caslib _all_ assign anymore. Thank you
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Ready to level-up your skills? Choose your own adventure.
Your Home for Learning SAS
SAS Academic Software
SAS Learning Report Newsletter
SAS Tech Report Newsletter