Super Users in the SAS Support Communities

There are SAS users, and then there are SAS Super Users in the SAS Support Communities.

Super Users in the CommunitiesWhat makes a communities user "Super"? It's the Super Users that fly around the discussion boards -- answering questions and guiding other community members. They aren't just SAS experts; they are teachers as well, helping new users to "learn to fish" and find their own answers.

The SAS Support Communities Super User program recognizes the strongest members for their outstanding contributions. In addition to the public honor of the "Super User" designation, inductees are given tools that help them to expand their community leadership. We hope this helps them get even more out of their community experience. Certainly, their actions help the rest of us in the community as well.

We asked our Super Users what they enjoy most about the communities. Here's some of what they said:

  • "There is a wealth of expertise available for free."
  • "You can participate any time of day or night."
  • "I love when you get an interesting question and multiple people post different answers trying to one-up each other."
  • "It's an opportunity to share. Most of the answers I provide take me very little time to prepare, and I know programmers can struggle as they are learning."

Congratulations to our inaugural group! These 6 outstanding community members will enjoy the official Super User designation for the next 6 months. They are:

Sign in today to SAS Support Communities and see these SAS Super Users at work. And maybe one day, you can become a Super User too!

Post a Comment

Introducing data-driven loops

Programming loops are a staple of any computer programming language. In essence, loops are what make programming languages so powerful.

In all programming loops, a group of statements is executed repeatedly based on the value of an index variable that changes from one iteration to another. The iterations are continued until a certain condition is met. However, in ordinary loops that index variable’s values are at least partially embedded in the programming code.

For example in the SAS’ iterative do statement embedded (hard coded) in the code are initial value 1, upper boundary 21 and increment 3:

do i=1 to 21 by 3;

Still, it is very convenient in case of linear pattern of incrementing or decrementing the index, and convenience trumps anathema of the programming – hardcoding.

If we don’t have a pattern of index variable alteration, SAS graciously provides a list of index variable values without any pattern in its iterative do-statement. For example:

do i=1, 5, 10, 8, 7;

do c=’Volvo’, ’GM’, ’Honda’, ’Ford’, ’Toyota’;

Even though the index variables can be of any data type (numeric or character), embedding their values into the do statement makes a program hard-coded (which is a curse word in programming). That requires change of the code every time when the index variable values or their order change.

SAS goes even further, allowing us to use variable names in the list of index values:

do c=var1, var2, var3, var4;

But if your data step is processing a long table, adding new variables to it with duplicate values across its observations is not the most efficient way of doing it.

While loops in general and SAS do-loops in particular belong to the code class, index variable values are data and as such ideally should not belong to the code.

Wouldn’t it be nice to have those index variable values removed from the code altogether and have them pulled from some external data source? By answering “yes” to this question we arrive at the notion of a data-driven loop.

Read More »

Post a Comment

SAS Global Forum Executive Board: Shaping the conference experience for SAS users

SAS Global ForumSAS Global Forum is the premier worldwide event for SAS professionals. It brings nearly 5,000 users and executives from across the world together to share new techniques and technologies to help expand users’ SAS skills. But an event of this size (hundreds of presentations, dozens of workshops and several networking opportunities) doesn’t just happen.  While SAS Global Forum is supported by SAS, the event is entirely planned and run by volunteers of the SAS Global Users Group and governed by an Executive Board charged with shaping the conference experience for fellow SAS users.

A Little History

Volunteers have been running the event since, well, before it was an event. It can be argued that the first event of SAS users occurred in 1974, when a two-hour “birds-of-a-feather” session of SAS software users was held at the annual IBM Share meeting. The following summer, SAS users met again for two days at Abbott Labs. These two gatherings were so successful that the attendees decided to plan an annual, international meeting of SAS users and the first annual International SAS Users Conference was held in Kissimmee, Florida, in January 1976.

After this initial experience, this group of volunteers realized that they simply didn’t have the resources to completely execute a large conference. They asked SAS to help with mailings and print collateral and formed the original SAS Global Forum Executive Board to handle planning and execution. The board would select a chair from its members. Eventually, every member of the original board served as chair, so the board began selecting new chairs from among users who were actively using SAS and regularly attending the annual conference. These new chairs became Executive Board members as well.

Today the Executive Board consists of 30 members and five SAS employees. These SAS experts have decades of technical and SAS expertise and are recognized as leaders in their chosen fields. Most importantly, though, they are fiercely dedicated to SAS and the user community.

The Role of the Executive Board

The goals of the Executive Board haven’t changed from those early days. They are charged with providing the SAS user community opportunities to:

  • Enhance skills with SAS content and professional development.
  • Increase understanding of all products and services provided by SAS.
  • Gain access to a network of peers for collaboration and information exchange.
  • Provide opportunities for feedback to SAS about their products, services, and policies.

SASGlobalForumExecutiveBoardIt’s a role the Executive Board takes very seriously. “My favorite part of being an Executive Board member is having the chance to make a difference for our attendees,” says Lori Griffin, the 2009 conference chair.   “Listening to what users are looking for in their conference experience and working to make that experience the best it can be is very rewarding.”

Executive Board Member and 2003 chair Art Carpenter agrees. “Being a member of the Executive Board provides me an opportunity to influence the direction and content of the SAS Global Forum Conference.”

Read More »

Post a Comment

Nominations for Chair of SAS Global Forum 2019 being accepted through Feb. 8

SAS Global ForumSAS Global Forum is an all-volunteer event, with SAS users from around the globe serving in a variety of roles to make the event happen. Still, no position is more impactful to the success of the conference than the SAS Global Forum Conference Chair. Its importance is highlighted by the fact that the chair position is filled approximately three years in advance of the event. So if you do the math, and even I can do this math, it’s time to receive nominations and ultimately select the chair for SAS Global Forum 2019. Nominations are currently being accepted and will continue through Feb. 8.

This much lead time might seem like overkill, but the chair utilizes every bit of it. (BTW, the conference chair also has duties in the years following the conference, so it really is a multi-year appointment!) At three years out, the chair is shadowing other conference chairs and reviewing surveys and data to determine what’s working or might need more focus. At two years out, the chair develops and refines their conference plans, themes, goals, etc. The year of the conference is spent working with the Global Forum Conference Team on content planning, attracting speakers, encouraging submissions and executing the event. Through all this lead up, the chair is participating on the SAS Global Users Group Executive Board and attending conference planning meetings. After the conference and in future years the chair continues to be an active member of the Executive Board.

Clearly, it’s a special SAS professional who can successfully serve as conference chair and many, many hours go into vetting candidates, interviewing them and deciding on the best candidate to fill this role.

Chair of SAS Global Forum - Debbie BuckFormer chair and current Executive Board member Debbie Buck is serving as Chair of the Nominations Committee for the 2019 search. Debbie is currently a Senior Statistical Programmer/Analyst with Chiltern and was an independent statistical consultant and an instructor for SAS for many years. She was also previously with Theorem Clinical, the Washington University School of Medicine, and Louisiana State University. Over the past 30 years, she’s served in a number of volunteer roles for the SAS Users Groups at the local, in-house, regional and international levels. She served as chair for a number of events, including SCSUG 1997, SSU 2001 (the Joint Conference of the SouthEast and South Central SAS Users Groups) and SAS Global Forum 2011, held at Caesars Palace in Las Vegas, NV.

Recently, I asked Debbie to share a little more information about the nomination process.

Read More »

Post a Comment

What is going on with my Visual Analytics audit data archiving?

In my last blog (What is going on with my Visual Analytics audit data collection) I reviewed how middle-tier auditing works and where to look for logs to debug issues. In this follow up blog I will do the same for the Visual Analytics audit data archiving process. The archive process is important, to quote the Visual Analytics Administration guide “CAUTION! Audit data can consume significant amounts of disk space and processing capacity.”

By default middle-tier auditing includes logon and logoff records. A SAS Deployment will always record logon and logoff activity in the audit tables. When Visual Analytics auditing is enabled a lot of additional activity is recorded, and the size of the audit tables in the Shared Services database can grow quickly. The first step in managing the space that is consumed is to archive data from the audit tables. The archive process is documented in the SAS Middle Tier Administration Guide.

To determine what records to archive an archive job reads the archive rules in the SAS_AUDIT_ARCHIVE_RULE table. The archive job always starts when SAS Web Infrastructure Platform Services starts.  In addition, the default archive job is scheduled to start every Monday at the start of the day, but the archive job schedule can be configured. To change the frequency of the archive see the SAS Middle Tier Administration Guide .

Read More »

Post a Comment

Junior Professional Program brings the SAS Global Forum experience to new users

SmallGraphicThis April, thousands of SAS users will converge on Las Vegas for the premier event for SAS professionals: SAS Global Forum. The event will attract users from across the globe; in every industry imaginable; and from countless government and academic institutions. It’s an excellent place to network with and learn from users of all skill levels, with professionals with 40 years of SAS experience to those just getting started in attendance. To help those relatively new to SAS experience the conference for the first time, the SAS Global Users Group Executive Board put together the Junior Professional Award program.

The program is designed exclusively for professionals who have used SAS on the job for three years or less, have never attended SAS Global Forum, and whose circumstances would otherwise keep them from attending. And, don’t let the word “junior” confuse you. The award is available for full-time SAS professionals, regardless of age. (In fact, it’s perfect for individuals making a mid-life career change or those who recently started using SAS in their job.) You also don’t have to be a SAS programmer. If you’re using SAS as a researcher, systems administrator, analyst or really any line of work, you would qualify.

The Junior Professional award provides user with free conference registration, free training, and a number of opportunities to learn from and network in the larger SAS community. While the program doesn’t cover all costs (travel and lodging are not included), it does remove some of the financial barriers newer SAS users may have in getting approval to attend.

To apply, users simply need to fill out the online application form. Award applications must be received by January 31, 2016. Questions can be directed to the Junior Professional Program Coordinator.

VirkudATo learn more about the award and its benefits, I recently sat down with one of last year’s winners, Arti Virkud.

Larry LaRusso: Hello Arti. First of all, congratulations on winning one of last year’s Junior Professional awards. Tell me how you first learned about the program?

Arti Virkud: I learned about the award from my manager and a colleague at the New York City Department of Health, both of whom were previous award recipients. We have tried really hard to spread the word about what an incredible opportunity this is for SAS professionals on our team.

Read More »

Post a Comment

New year refresher on reshaping data

ProblemSolversAs support analysts in the SAS Technical Support division, we answer many phone calls from SAS customers.  As members of the SAS Foundation team, we get questions that vary significantly in content from all of the areas that we support.  We offer coding tips and suggestions as well as point customers to SAS Notes and documentation. A common question that we are frequently asked is how to collapse a data set with many observations for the same BY variable value into a data set that has one observation per BY variable value.  Another way to phrase this question is: how do you reshape the data from “long to wide?”

Resources to Reshape Data

The following SAS Note illustrates how to use two TRANSPOSE procedure steps to collapse the observations for multiple BY variables:

Sample 44637: Double PROC TRANSPOSE method for reshaping your data set with multiple BY variables

If you prefer to use the DATA step rather than PROC TRANSPOSE, the following SAS Note provides a code sample that accomplishes the same purpose:

Sample 24579: Collapsing observations within a BY-Group into a single observation (when data set has 3 or more variables)

If the data set is “wide” and you’d like to expand each observation into multiple observations to make it a “long” data set, the following SAS Note is helpful:

Sample 24794: Expand single observations into multiple observations

Brief Overview of Some Resources

Since we’ve been discussing SAS Notes from the site, here is a brief overview of how to use the site to find other helpful items for your future coding projects.

Read More »

Post a Comment

SAS administrators tip: Keeping track of SAS users

If you are a SAS Administrator who is tasked with managing SAS users including adding and removing SAS users in the SAS Management Console, assigning (or re-assigning) them to Groups and Roles, maintaining their General information and user Accounts, then you know that when number of users grow, at some point things can get messy.

SAS Users Definition in the Metadata

Suppose, you have multiple SAS users defined in the SAS Management Console as in the following example:

1 - General tab:

SAS users - Metadata General Property

Read More »

Post a Comment

Help for SAS administrators only a click away

CommunitiesIf you install, update, manage or maintain a SAS deployment, you're a SAS administrator, and a very valuable resource for your organization. Every day, SAS users at your company depend on you to do their job. Being a SAS administrator is a critical and rewarding role, but it can sometimes be a lonely one as well. While there might be hundreds or even thousands of SAS users at an organization, there is usually only one administrator. Luckily, SAS provides a number of resources through our support site. And, there's another great resource only a click away: the Administration and Deployment Support Community.

Part of SAS Support Communities, the Administration and Deployment Community provides peer-to-peer support for administrators and a forum for posing questions, sharing best practices and tips, and discussing deployment issues. With hundreds of SAS experts and employees on the community at any given time, you can pretty much rest assured your question will get answered in a timely manner.

In addition to the thousands of posts and hundreds of active discussions, the SAS administrator community also includes a number of additional resources for administrators. These include a Tip of the Week (this week's tip: Extending and Automating Capabilities in SAS Environment Manager’s Service Architecture Framework); a Community Library, which archives helpful discussions and spotlights articles related to administering and deploying SAS; and a blog series featuring administration experts sharing tips and new techniques. The site also highlight events and presentations designed exclusively for SAS administrators. (A good example is the popular Ask the Expert series, which offers regular presentations from SAS experts. This month's live presentation, Introduction to SAS Administration Tasks in 9.4is scheduled for January 15, and every presentation can be viewed on-demand.)

Read More »

Post a Comment

What is going on with my Visual Analytics audit data collection?

Visual Analytics audit data collectionIn my last blog I discussed purging audit records from the Web Infrastructure Platform SharedServices database. The blog generated a fair bit of discussion around the SAS Visual Analytics auditing data gathering and archive process. So let’s take a step back and in this blog review how data collection for auditing works and where to look for logs to debug issues. I will do the same for the archive process in a follow up blog.

In this blog we will look under the covers rather than show you how to implement auditing. For a great summary of how to set all this up, see this YouTube video by my colleague Bobbie Wagoner.

When auditing is enabled, audit records are continuously generated when user activity occurs in the environment, and stored in the Web Infrastructure Platform service database. Two tables in the SharedServices database, the SAS_AUDIT, and SAS_AUDIT_ENTRY tables, are used to record activity that occurs in SAS web applications. By default, user logon and logoff events are recorded in these tables for all SAS Web Applications. When middle-tier auditing is enabled for Visual Analytics, additional user-activity is recorded to these tables and fed to Visual Analytics to support the Administrator overview report.

Read More »

Post a Comment