I often get asked for programming tips. Here, I share three of my favorite tips for beginners. Tip #1: COUNTC and CATS Functions Together The CATS function concatenates all of its arguments after it strips leading and trailing blanks. The COUNTC function counts characters. Together, they can let you operate [...]
In a previous blog, I demonstrated a program and macro that could identify all numeric variables set to a specific value, such as 999. This blog discusses an immensely useful technique that allows you to perform an operation on all numeric or all character variables in a SAS data set. [...]
The post How to perform an operation on all numeric or all character variables in a SAS data set appeared first on SAS Learning Post.
When I teach my Data Cleaning course, the last topic I cover in the two-day course is SAS Integrity Constraints. I find that most of the students, who are usually quite advanced programmers, have never heard of Integrity Constraints (abbreviated ICs). I decided a short discussion on this topic would [...]
The post Keeping your data set clean: Integrity constraints appeared first on SAS Learning Post.
Wait! Don't close this window. I understand that regular expressions can be very complicated (yes, there are many books on the subject), but some basic expressions to test patterns such as zip codes or telephone numbers are not that difficult. In addition, you can sometimes use Google to search for [...]
The post Using regular expressions to verify the pattern of character data appeared first on SAS Learning Post.
How many times have you entered a phone number on a web page, only to be told that you did not type it the "correct" form? I find that annoying. Don't you? In my latest book, Cody's Data Cleaning Techniques, 3rd edition, I show how to convert a phone number [...]
There's an old song that starts out, "You Can Get Anything You Want at Alice's Restaurant." Well, maybe you are too young to know that song, but if you’re a SAS users, you’ll be glad to know that you can capture anything produced by any SAS procedure (even if the [...]
The post Capturing output from any procedure with an ODS OUTPUT statement appeared first on SAS Learning Post.
What?!? You mean a period (.) isn't the only SAS numeric missing value? Well, there are 27 others: .A .B, to .Z and ._ (period underscore). Your first question might be: "Why would you need more than one missing value?" One situation where multiple missing values are useful involves survey data. Suppose [...]
How many of you have been given a SAS data set with variables such as Age, Height, and Weight and some or all of them were stored as character values instead of numeric? Probably EVERYONE! Yes, we all know how to do the old "swap and drop" (rename and convert), but […]