Upcoming SAS Talks: Getting started with SAS

Are you a new SAS user who isn’t sure where to begin? Have no fear, because you’re not alone. Here at SAS, we often receive questions from people who need help getting started with the software. Getting Started with SAS is the topic of a SAS Talks session that I [...]

Post a Comment

My favorite SAS tips and tools from 2012

Many of my blogging colleagues are taking this week to reflect on their top posts in 2012. Some are using the visitor statistics to rank the posts, but as Andy Ratcliffe points out, that gives short-shrift to the late-season articles. This year, I’m going to use this space to recap [...]

Post a Comment

Using SAS to access data stored on Dropbox

I used “Dropbox” in the title for this post, but these techniques can be used for other cloud-based file sharing services, such as GitHub and Google Drive. Using PROC HTTP (added in SAS 9.2), you can easily access any “cloud-based” file as long as you have a public link to [...]

Post a Comment

Using a SAS function to validate a National Provider ID (NPI) value

We are careening towards the holiday season, and this year more than ever before it’s going to mean one thing: Online Shopping. As you enter your credit card number over and over to complete your many purchases, you might occasionally transpose or mistype your account number. Does it surprise you [...]

Post a Comment

Creating a somewhat unique ID using the UUIDGEN function

According to the Daily Writing Tips blog, describing a thing as “somewhat unique” is bad form. Unique means “one of a kind”, so either it is or it is not. The famous example (which the style police will use to chide you) is that you can’t have something as “somewhat [...]

Post a Comment

Using SAS to convert IP addresses into numerical IP values

As citizens of the Internet, we are all familiar with IP addresses — probably more so than our Internet founding fathers had ever intended. These addresses are typically represented in a 4-piece segmented list of numbers separated by dots. Here is an example: “149.173.5.120″. Each segment is called an octet [...]

Post a Comment

Using a regular expression to validate a SAS variable name

Regular expressions provide a powerful method to find patterns in a string of text. However, the syntax for regular expressions is somewhat cryptic and difficult to devise. This is why, by my reckoning, approximately 97% of the regular expressions used in code today were copied and pasted from somewhere else. [...]

Post a Comment

Comparing data set schemas in SAS

The project that I’m currently working on requires several input data tables, and those tables must have a specific schema. That is, each input table must contain columns of a specific name, type, and length in order for the rest of the system to function correctly. The schema requirements aren’t [...]

Post a Comment

Read a Microsoft date-time value into a SAS date-time value

A colleague was recently working with a web service that supplies some date-time values using the Microsoft Windows internal representation. He called the web service to retrieve those values (along with other data) from SAS, and he needed convert these values to SAS date-time values. The Microsoft definition for a [...]

Post a Comment

Improving on a SAS programming pattern

Earlier this week I described a common programming pattern in the SAS macro language. The pattern sets up a loop for processing each distinct value of a classification variable. The program uses the PROC SQL SELECT INTO feature to populate SAS macro variables. The effect: you can roll your own [...]

Post a Comment