This past Monday, Tricia and I released our 2nd book this year. "The 50 Keys to Learning SAS Stored Processes" provides a step-by-step approach to transitioning from SAS code into user driven (prompted) stored processes. Trimming down all the things you can do with SAS Stored Processes is next to impossible, and as Tricia mentioned in her blog post earlier this week, writing a small chapter in our 1st book simply did not do this awesome functionality justice.
When we first purchased the SAS Business Intelligence suite as a customers back in 2005, I was the unwilling bottleneck for many of the user requests. I had the ability to create some BASE SAS code and add %let statements at the top to quickly get the requested data back for them, but if I wanted to take a break (yes, I do take vacations occasionally) the users would have to wait until I returned since they didn't have a SAS license and they didn't know how to program. Then SAS Stored Processes appeared at my door step, and I was smitten. These programs could be quickly converted and instead of %let statements prompts could be quickly added. Then my users (who preferred MS Excel and had SAS Add-in to MS Office installed) could run the code from their machines with only 5 seconds of training! This new book takes my experience and converts into a step-by-step progression from a similar situation into a basic stored process and then describes a wide variety of enhancements the user is likely to request.
Keeping the keys to just 50 was extremely difficult and the debate can rage on about what we should have included. My #51 would be to leverage the shared prompts that are available from the default SAS installation when creating different package output types. The SAS Stored Process Developers Guide has a full page on how to pull in these shared prompts. Basically, instead of using SAS code like we do in Chapter 8 for creating a package of data for the SAS BI Dashboard, we could have added the shared prompt and followed the instructions in the system to specify the required values.
Here is a summary of what to do:
- Click the 'Add Shared' button on the Parameters Screen.
- Navigate to "Products/SAS Intelligence Platform/Samples/" area
- Select the corresponding shared prompt. (They start with "Package -".)
- Then click the "Unshare" button. This gives you a message that this is no longer going to sync with the shared prompt, but that is ok in this instance.
- Open each of the underlying prompts and the description field will explain what to do.
In the image below, there are two prompts within the shared prompt group "Package - File System with New Instance". In the first underlying prompt for _result (#1), the description states 'Do Not Modify'. But in the second prompt for _archive_path (#2) there is no such declaration. Therefore I moved to the Prompt Type and Values tab (#3) to see the text 'Supply_Valid_Value'.
Then instead of having code with data _null_ steps to define all of this, we can just keep the %stpbegin and %stpend to generate the package. Here is more information from SAS Technical Support - Sample 39952 on how to program everything.
If you have a chance to buy and look through the book, please let us know what other keys you think are important to new SAS Stored Process developers!