Stored Processes: 3 Ways to Edit a Stored Process

Some may not realize that you can edit a SAS Stored Process in multiple ways (depending on your permissions).  Today I show you three different ways to reach the stored process code.  By the way, I’m using SAS Enterprise Guide 4.3 and SAS Management Console 9.3 – so your windows may look different. Method 1: SAS Enterprise Guide Many of you are aware of this method already.  Just for review – here’s how you open a stored process and then change it with SAS Enterprise Guide.  You have to be connected to the metadata server to reach the stored process. From the SAS Folders pane, select the SAS Folders icon. Navigate to the stored process location.  Right-click the stored process and select Add to Project.  The stored process appears in the Process Flow and Project Tree areas. From the Process Tree or the Project Flow area, right-click the stored process name and select Modify <stored process name>.  The Stored Process Manager window appears and you can make changes to your code.  I use this method most often because I like the help I get from SAS Enterprise Guide.   Method 2: SAS Management Console If you  have access to the […]

Top 10 tips and tricks about PROC SQL

Interestingly, I just found that the most searched keyword is PROC SQL, through the traffic analysis of my tiny blog. The reason possibly is: nowadays everybody knows SQL, more or less; then someone can do some parts of the SAS job by PROC SQL wit…

Jedi SAS Tricks – Roll Your Own Function

A SAS user (who lives in the the US) emailed me a question about SAS functions. He was read UTC (Coordinated Universal Time) datetime values from server logs, and to make future calculations and comparisons easier, he wanted to transform the value to …

SAS OLAP Cubes: Taking Advantage of OLAP Member Properties

Have you ever had a requirement to display additional details about data in a report but couldn’t find a good way to do so?  Showing OLAP Member Properties in a SAS Web Report could be a useful way to sneak more details about data into a crosstab table. Crossing Multiple Dimensions with High Cardinality Creates Data Headaches I recently ran into a data challenge with a large OLAP cube (NWAY of about 12 million records) where I needed to summarize a simple count by a “group ID” crossed with a “group name” crossed with another insignificant dimension.  There were a large number of “groups” – over a 1000 distinct group IDs with matching group names.  Since the cardinality between the “group ID” and “group name” with the source data was pretty high, the OLAP query took a very long time to run and ultimately failed due to a lack of memory.  Rather than figuring out how to cross two dimensions with high cardinality (which is not going to be realistic), I used the “group name” to define a member property of the “group ID”. Since the group name had a one-to-one relationship with the group ID, the member property makes sense. […]

NOTE: DS2. Data Step Evolved? #sasgf12

One of the other “futures” sessions I attended at SAS Global Forum was The New SAS Programming Language: DS2 with SAS’s Jason Secosky. Jason was at pains to point out that DS2 is not intended as a replacement for the good old DATA step. DS2 is an alter…