TASS, SASDummy, and I – Part II

You may recall that I am a novice SAS user - I've  been using SAS for about two years now and work for Canada's largest pediatric hospital as a database administrator and data analyst. In April, during SAS Global Forum 2012, I wrote my first blog post on the SAS Users Groups blog - I joked then about the fact that I'd gone from social media atheist to active blogger (I also blog for SAS Canada). Here I am again.

About a week ago, I wrote the first in this series, TASS, SASDummy, and I – Part I. I enjoyed the one-day conference so much, and had so much great information to share, that I had to break the post into a series of two posts - one about the morning sessions that I attended and another about the afternoon.

What's up 4 dot 3?

Chris Hemedinger, without a doubt the star of this TASS meeting, gave an afternoon talk about moving from SAS Enterprise Guide 4.1 to 4.3.  His talk highlighted three points:

Making it easier to get started.

Do more before jumping to code.

Production of better results using SAS 9.2.

There are now activity-based user interfaces throughout EG. This means that if I am doing something I will only see relevant buttons and toolbars, etc.  Reducing clutter is always good, and doing this in software like EG allows for more productive use of time.

There are now easier ways to filter and report on the data, including an enhanced Report Builder.  One new feature I’m sure many SAS Administrators will be fond of is the new Role-Based Control.  Having a user-only access, the functions and features of EG that are required to do their job keeps data more secure, reporting more reliable, and auditing a snap.  However, this has to be stressed – Role-Based Control is not security – if someone wants to find a way to do something, they will find a way.

There is also an improved Import Data Wizard, which I’ve always found easy enough to use to import Excel and Text; however, now you can select data ranges and have SAS rename the columns to adhere to SAS rules.  Once you get your data into EG, there are still plenty of cool things you can do. One of my favourites is the conditional execution of tasks.  By right clicking on a task, you can set up conditions that have to be present or absent for the task to run.  This allows for complex process flows and generation of error reports, specific data sets to be emailed or saved, etc.

Although Chris talked about a number of other exciting features, I don’t want this to be a blog about just him.  I would highly recommend checking out his presentation (available soon on http://torsas.com) to see all of the other enhancements.

Solve this

The next segment was a new one for the Interface Group, and one I hope they continue.  It was entitled “Solution to Posed Problem.” On various TASS sites (LinkedIn, TORSAS, etc.), a problem and a data set were posted.  People were invited to submit their answers that used some interface-based SAS software, and the answers would be discussed.

In this instance, the dataset had 136 rows and one of the columns was SampleID; the challenge was to find the maximum date and time for each ID.  Without batting an eyelash, I could do this in Base SAS using PROC SQL; however, doing it in EG or some other interface-based application would be a challenge for me.  I found it really interesting how each entry was different; some used GROUP BY and Max(Date), but the way they arrived at the maximum was different.  One person used a hash table, and Art Tabachneck was the only one who submitted screen shots of using EG.  So, after 10 years in the TASS Group, Art finally won the much-coveted SAS Rolling Knapsack. Congrats Art, and I can’t wait to see the next challenge!

Multicollinearity what?

I met Eric Cai at his first User’s Group meeting, a Health User Group, when he was just 5 days into using SAS.  I was excited to see him present, as he'd always struck me as a very articulate, passionate and highly intelligent person who could explain complex concepts to people like me.

I admit, I was absolutely positive I was going to be lost during Eric's presentation, “Overcoming Multicollinearity and Overfitting: Partial Least Squares Regression in JMP and SAS.  So I grabbed another coffee just so I could be as alert as possible.  Right from his very first slide (an invite for people to go to the Southern Ontario Regional Association chapter of the Statistical Society of Canada’s talk on September 26 at SAS Canada Headquarters), his excitement and enthusiasm were not only apparent, they were infectious.  Even when his computer went to sleep, his humour and inability to be fazed kept him going without missing a beat.

Here I was, so concerned I wasn’t going to understand anything that I grabbed another coffee, and at the end of his talk, I realized I was so engrossed I hadn’t even touched it!  Not only was his talk interesting, but it was also very relevant to a problem I’m dealing with, so it just goes to show – do not judge a talk by it’s title!

Multicollinearity is when two or more variables are correlated. This poses a problem when developing a model.  Eric walked us through k-fold cross validation, and how to use this to generate test and training datasets using the same data. He led us through the math behind Partial Least Squares regression without beating us over the head with it – it was enough that I knew what was going on, but not enough I was frustrated and lost.  He showed us how to do the regression in JMP, and using a dataset he had, walked us through the ridiculously easy steps in creating and interpreting the model.

At the end of the talk, Matt said he didn’t think it would ever be possible for him to be “out-energied”; well, Eric certainly did that!  I am hoping Eric agrees to do subsequent talks on statistical topics, as it was one of the most entertaining I’ve seen.

Customize it

As a perfect way to end a great TASS Meeting, Chris Hemedinger got up one last time, this time to talk about using custom tasks in Enterprise Guide.  Custom tasks allow a user to extend Enterprise Guide to do something not already built in.  It uses Microsoft’s .NET Platform, and can be downloaded from Chris’ blog .

To install the custom task, simply copy the file to the %appdata%SAS\EG\4.3\Custom folder, or go to Enterprise Guide and click TOOLS->ADDIN MANAGER. If using the first method the Custom folder does need to be created beforehand.  Although Chris went through the tasks fairly quickly (giving us a taste of each more than an in-depth look), I did want to mention three of them:

SAS Macro Viewer - Views all system functions available in the Macro Language.  As I am learning the macro language now, having a place that I can go to to get this information is a huge help.

System Options Viewer - Enables an EG user to get to those options not normally available.

Data Set -> DATA STEP add-in - Allows a user to open a data set and convert it to a SAS DATA Step.  This is ideal for sending data, backing up a dataset, or anything else where a data set is required in another location, but the data itself is not required.

Sadly, that was the end of my day.  I always have a great time meeting the people and catching up with friends, but this one will be long-remembered.   I’d like to thank Matt Malczewski, Art Tabachneck and Laurent Josso for all their hardwork in organizing the meeting Of course, I'd also like to thank Chris, Michael and Eric for such amazing presentations. I am looking forward to using this information in my own day-to-day work.

The next meeting will be on December 14, and I look forward to seeing everyone there!

TASS, SASDummy, and I – Part II was published on SAS Users.