RESEARCH TRIANGLE SAS® USERS' GROUP
Meetings

September 15 RTSUG Meeting at RTI

Our next RTSUG meeting will be held next Wednesday, September 15th, at RTI's newest building (Building 08). Directions are included below.

Please RSVP if you plan to attend!

Schedule

2:30 - 2:45   Sign-in and networking
2:45 - 3:30  Yogini Thakkar: "Fun with Functions"
3:30 - 3:45Break
3:45 - 3:55  Robert Janka: "Which Job Sent *THAT* Error Message - How to Generate a Lookup List From Your Metadata"
4:00 - 4:10Milorad Stanjanovic: "%RESTRUCT - SAS macro with Proc Univariate"
4:15 - 4:25Carry Crogan: "Automation of Data Updates: A Case Study"
4:30 - 4:30Dan Blanchette: "RUNQUIT: Run an error check to stop SAS"

Abstracts:

"Fun with Functions"
Yogini Thakkar

How often do we sit back and take the time to improve our SAS programming skills by learning to use something better than what we have routinely used in the past? I invite you to join me as we come out of our comfort zone to examine what is new in SAS 9 and find out how we can use these new tools to improve our code. In this paper we will revisit some commonly used functions and see how they have been improved in SAS9, and find out how this will help us simplify our code while reducing the chance of errors.
A few things that will be covered in this paper include examining how the FIND function can work better than the INDEX function and how the new COMPRESS function helps us minimize code. We will also look at the new ANY and NOT functions.

" Which Job Sent *THAT* Error Message - How to Generate a Lookup List From Your Metadata "
Robert Janka

Imagine you are a newly hired SAS Platform Administrator and Data Integrator. It is trial by fire...jobs are failing! How would you quickly figure out which nightly jobs send which error messages? How would you match up those error texts to the appropriate jobs and create a lookup list that will help not only you, but your co-workers as well? The author found himself in just such a situation. He will present an example using DATA STEP metadata functions to automatically generate this lookup list.

"%RESTRUCT - SAS macro with Proc Univariate"
Milorad Stanjanovic

Proc Univariate has a long history as a part of the SAS Base software package. It is very handy and useful. It allows users to quickly analyze raw as well as final data at a glance. It does, however, come with a price - users often have to browse many pages of Proc Univariate report results. Macro %RESTRUCT relieves you of that burden by summarizing the data you need to examine most. The summary results are presented in a very condensed form.
Users should specify their source of data, statistics they would like to have and the output file location.

"Automation of Data Updates: A Case Study"
Carry Crogan

In December of 2009, the United States Environmental Protection Agency initiated a year long study to measure a suite of traffic-related air pollutants adjacent to I-15 in Las Vegas, Nevada. Measurements were collected simultaneously at four sites and stored at five minute intervals. The data were transmitted daily to a central computer using WinCollect Data Evaluation and Reporting Software (Version: 3.3). Once a week, the data were exported into an Excel (2003) spreadsheet which was then translated to a SAS dataset. To efficiently update the SAS database on a weekly basis several different SAS tools were utilized including PROC IMPORT, PROC UPDATE, %INCLUDE, and batch calls with parameter pass throughs. Each of these tools will be described with details including why they were utilized. By automating the process of updating the SAS database, the time to complete the weekly data extraction task and the probability of human error were greatly reduced.

"RUNQUIT: Run an error check to stop SAS "
Dan Blanchette

I wrote a SAS macro named RUNQUIT that allows interactive SAS users to stop SAS from processing the rest of their code in an interactive session without ending the SAS session nor losing any data or code. It also works in batch mode. You can just type "%runquit;" instead of "run;" or "quit;" in your code so that SAS will stop whenever an error occurs.
RUNQUIT basically presses the interrupt button (the icon with the exclamation point "!" in a circle in the SAS toolbar) for you when an error occurs in your code. Choosing to cancel submitted statements in the pop-up windows that the interrupt button asks you makes SAS stop processing any more of your code but does not end your SAS session.

Directions:

  • From the east via I-40
    • Take Exit 280, Davis Drive. At the top of the exit ramp, turn right onto Davis Drive.
    • At the first traffic light, turn left onto Cornwallis Rd.
    • Turn left at the first traffic light onto West Institute Drive (This is RTI).
    • Take your 1st left turn on West Institute Drive and follow the signs to the Building O8 parking deck..
    • Push the intercom button at the security gates, identify yourself and state your purpose for being at RTI (attend the RTSUG meeting in Building O8); RTI Campus Security will grant you access to the parking deck remotely.
    • Park on the first level of the Building O8 parking deck and walk to Building O8.
  • From the west via I-40
    • Take Exit 280 onto Davis Drive. At the top of the exit ramp, turn right onto Davis Drive.
    • At the second traffic light, turn left onto Cornwallis Road.
    • At the first traffic light, turn left into West Institute Drive (This is RTI).
    • Take your 1st left turn on West Institute Drive and follow the signs to the Building O8 parking deck..
    • Push the intercom button at the security gates, identify yourself and state your purpose for being at RTI (attend the RTSUG meeting in Building O8); RTI Campus Security will grant you access to the parking deck remotely.
    • Park on the first level of the Building O8 parking deck and walk to Building O8.
  • From the south (really west) via I-85
    • Take Exit 172 to go south on NC 147 (the Durham Freeway).
    • Take Exit 6, Cornwallis Road. At the top of the exit ramp, turn left onto Cornwallis Rd.
    • At the first traffic light at West Institute Drive, turn right (This is RTI).
    • Take your 1st left turn on West Institute Drive and follow the signs to the Building O8 parking deck..
    • Push the intercom button at the security gates, identify yourself and state your purpose for being at RTI (attend the RTSUG meeting in Building O8); RTI Campus Security will grant you access to the parking deck remotely.
    • Park on the first level of the Building O8 parking deck and walk to Building O8.
  • From the north via I-85
    • Take Exit 177B for NC 55 East, Roxboro Road, and NC Central University. Go east (really south) on NC 55.
    • When it intersects NC 147 (the Durham Freeway), go south on NC 147.
    • Take Exit 6, Cornwallis Road. At the top of the exit ramp, turn left onto Cornwallis Rd.
    • At the first traffic light at West Institute Drive, turn right (This is RTI).
    • Take your 1st left turn on West Institute Drive and follow the signs to the Building O8 parking deck..
    • Push the intercom button at the security gates, identify yourself and state your purpose for being at RTI (attend the RTSUG meeting in Building O8); RTI Campus Security will grant you access to the parking deck remotely.
    • Park on the first level of the Building O8 parking deck and walk to Building O8.
  • From the south via NC 55
    • Get on I-40 going east. Take Exit 280, Davis Drive.
    • At the second traffic light, turn left onto Cornwallis Road.
    • At the first traffic light, turn left into West Institute Drive (This is RTI).
    • Take your 1st left turn on West Institute Drive and follow the signs to the Building O8 parking deck..
    • Push the intercom button at the security gates, identify yourself and state your purpose for being at RTI (attend the RTSUG meeting in Building O8); RTI Campus Security will grant you access to the parking deck remotely.
    • Park on the first level of the Building O8 parking deck and walk to Building O8.

Home
Membership
Bylaws
History
Officers
Meetings
Articles
Newsletter
Jobline
Saslinks