Friday, October 30, 2009

Shared Cascading Prompts

I was reviewing some functionality capabilities for a project and came across this scenario. We have two prompts that are cascading (one drives the list available in the second) such as city selection to street selection. I could then share the first one, but not the second. Turns out you need to group the prompts together and share the group of them.

Fortunately, SAS posted a 'SAS Presents' paper earlier this year at SAS Global Forum.

On page 15 (example 6) of the paper: http://support.sas.com/resources/papers/sgf09/355-2009.pdf, there are details on how to create a group of prompts.

Thursday, October 29, 2009

Setting up Public Access in SAS Stored Processes (9.1.3)

What if you would like everyone to be able to run SAS Stored Processes without experiencing the authentication (log-in) screen?

1. You need to change the /SASStoredProcess/Params.config and a web.xml file for SAS 9.1.3. Change the following line:                          
_username=$servlet.user.name
 TO:                                       
_username=&ltYour Shared Account Name&gt
AND THEN ADD the following line:
_password=&ltYour encoded password&gt

2. In the /SASStoredProcess\WEB-INF\Web-XML, COMMENT out the following lines:
<param-name>AuthMechanism</param-name>
<param-value>host</param-value>


Restart the web application (such as Tomcat) and you shouldn’t have to login anymore.

<submitted Zencos Consulting>

Wednesday, October 28, 2009

Proc Geocode is available in SAS 9.2 (Otherwise know as what I learned at SESUG09 & will immediately utilize Wednesday.)

While working on a SAS OLAP and ESRI project, I was asked about geocoding addresses. Fortunately, Jeff Phillips, one of the SAS presenters at SESUG09 gave a talk about PROC GEOCODE. In SAS 9.2, street addresses can be given x/y coordinates via the geocode procedure using the 5 or 9 digit zipcodes. This isn't exact (as it maps to the centriod of the zipcode), but its a quick way to group data by geographic region.

The procedure is very straightforward:

   proc geocode data=source out=maptable zip nocity attributevar(city);

   run;

Check out the paper by Shane Trahan and his RTI teammates given at SESUG09 this week that discusses using the Google API for a more exact level of mapping coordinates. It should be available soon on a website near you. (RV-007 Title: Integrating Geocode Data from the Google Map API and SAS/Graph®)


Reference:
  1. SAS Online Documentation http://support.sas.com/documentation/cdl/en/graphref/61884/HTML/default/a003121441.htm
  2. SAS Graph Paper from SAS Presents http://support.sas.com/resources/papers/sgf09/230-2009.pdf

Tuesday, October 27, 2009

Analyzing Local Excel Data via SAS Addin to MS Office

With local data highlighted in Microsoft Excel, you can then "Copy to SAS Server" to run SAS analytical tasks. The menu bar ('SAS' -> 'Active Data' -> 'Copy to SAS Server') is also the image below:



SAS provides a knowledge base entry at: http://support.sas.com/kb/32/009.html to show how this can be done with a SAS query result - writing back to the same source data set.

In EITHER case, you need to have WRITE access to the file space & associated metadata library on the server.

Note: A google search on "site:sas.com "'Copy to SAS Server"" also provides additional information on hotfixes and functionality capable via this menu item.

Monday, October 26, 2009

Paul Kent Presents SESUG09 Keynote: How to Get and Keep SAS Users Happy

VP of Platform R&D at SAS (also known as @hornpolish to SAS Twitterers)
presented the Keynote at the SAS SouthEast SAS Users Conference #sesug09 on Sunday Evening, topic = How to Get and Keep SAS Users Happy.

The main tint of the presentation was how to keep the computer happy. Because if the computer is happy, the SAS System is happy, and therefore the SAS Users are happy. Paul referenced a SAS Submitted 2009 SGF Paper: Paper 310-2009. He mentioned three areas to keep an eye on for the SAS system:
  1. I/O (There are reasons why SAS utilizes a high I/O. These are not 'bad' SAS programs, but how SAS completes analytics on all the data available.)
  2. Memory (Never, EVER, set MEMSIZE=0)
  3. CPU (Montior CPU vs Real Time in your SAS logs to ensure that the CPU is processing your jobs efficiently.)
Paul then referenced a 'Featuritis' Curve from a different conference that gave positive and then negative comments on the amount of features provided within a product. SAS has to walk a fine line between having just the right amount of features to driving customers crazy with too many options/requirements to get the feature to work. In order to help SAS Institute walk the fine line, Paul suggests that all of us participate in the SAS online customer ballots.

Don't forget, stay informed with the SAS by subscribing to the various newsletters listed at: http://www.sas.com/resources/

Finally, Paul recommended that at a local level, SAS users should get and stay involved with other SAS users. Recommendations included setting a SAS mailing lists internal to your organization to share/request help, schedule lunch and learns to share how SAS is being used, and don't forget to be an information resource.

When looking for resources to an issue, Lex Jansen has provided an awesome resource (being an 'SAS Information Resource') within is website: http://www.lexjansen.com/ which catalogs all the SAS user papers into a Google Custom search system. A GREAT resource to search for SAS information.