PROC STREAM: An evolution in dynamic content generation


SAS Server Pages were initially described in my SAS Press book Building Web Applications with SAS/IntrNet: A Guide to the Application Dispatcher . The creation of SAS Server Pages was accomplished through the use of a DATA step and the RESOLVE function. SAS Server Pages have been used by a number of SAS developers as a way of creating custom UIs for Web-based applications, much like JSP and ASP pages came to be used in Web applications.

PROC STREAM, a new experimental procedure available in SAS 9.3 significantly extends this paradigm to provide a framework for applications development by providing a foundation technology that greatly expands SAS' capabilities for Dynamic and Rich Content generation. In conjunction with the Macro facility, PROC STREAM provides robust support for dynamic content generation using a language well known to SAS programs: the Macro language. Thus, SAS can now be used to produce virtually any text-based content, including but not limited to HTML, CSV, RTF, XML and more.

SAS programs can be executed interactively, in batch mode, and over the Web via the Stored Process Server and the SAS/IntrNet Application Dispatcher; and PROC STREAM can be used in all of those modes. It can be used to produce reports, custom user interfaces and more. It supports a number of key features

  • The %include statement can now also be used to implement what JSP and ASP applications refer to as Server Side includes.
  • SAS code can be defined/executed inside of an input SAS Server Page.
  • The SCL data access functions can be used and provides facilities to access SAS data sets and include data values directly in a SAS Server Page.

I have a new SAS eBook, SAS Server Pages: Generating Dynamic Content, under development that provides an overview of what can be done with PROC STREAM, including a rich set of samples. A free preview copy of selected chapters will be available by SAS Global Forum 2012.

Check out my blog for tips, techniques and examples on PROC STREAM and SAS Server Pages. To see an example of PROC STREAM in action, check out this example that produces an events calendar of my PROC STREAM blogs. It includes both published and planned blog listings. And the published ones are clickable. Leveraging JQuery Widgets - An Events Calendar is an overview of how PROC STREAM was used to do this.

You can also follow the PROC STREAM and SAS Server Pages tags on to learn more and, more importantly, to provide feedback on changes and improvements you'd like to see made to PROC STREAM before it becomes production.



About Author

Don Henderson

Owner and Principal of Henderson Consulting Services

Don Henderson is the Owner and Principal of Henderson Consulting Services, a SAS Affiliate Partner. Don has used SAS software since 1975, designing and developing business applications with a focus on data warehouse, business intelligence, and analytic applications. Don was one of the primary architects in the initial development and release of SAS/IntrNet software in 1996, and he was one of the original developers for the SAS/IntrNet Application Dispatcher. Don is the author of SAS Server Pages: Generating Dynamic Content, Building Web Applications with SAS/IntrNet: A Guide to the Application Dispatcher, and Data Management Solutions Using SAS Hash Table Operations: A Business Intelligence Case Study. Don has presented numerous papers at SUGI and regional SAS user group meetings and continues to be a great supporter of SAS and its products.

Related Posts


Back to Top