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 [...]
The little SAS program’s official name was Extract_Transform_Load_ 0314.sas. But, that name was much too formal, way too long, and did not roll off of the tongue very easily at all. So, everybody simply called her: ETL Pi. ETL Pi was conceived in a 2-hour project strategy meeting in conference [...]
When developing SAS® data sets, program code and/or applications, efficiency is not always given the attention it deserves, particularly in the early phases of development. Since data sizes and system performance can affect a program and/or an application’s behavior, SAS users may want to access information about a data set’s [...]
Ok, so you know how to create multiple sheets in Excel, but can anyone tell me how to control the name of the sheets when they are all created at once? In the ODS destination for Excel, the suboption SHEET_INTERVAL is set to TABLE by default. So what does that [...]
The post How to control the name of Excel sheets when they are all created at once appeared first on SAS Learning Post.
I recently asked a SAS user, “Which interface do you use for SAS?” She replied, “Interface? I just install SAS and use it.” “You’re using the SAS windowing environment,” I explained, but she had no idea what I was talking about. This person is an extremely sophisticated SAS user who [...]
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.
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 […]
This SAS Jedi is very excited about the SAS 9.4 M4 release, which brought many wonderful gifts just in time for Christmas. So in the interest of extending the Christmas spirit, I'm going to blog about some of my favorites! I've long loved the SAS DO statement variant which allows […]
The post SAS Jedi Christmas - SAS 9.4 M4 DS2 Do Loop Upgrade appeared first on SAS Learning Post.
SAS temporary arrays are an underutilized jewel in the SAS toolbox. I find that many beginning to intermediate SAS programmers are not familiar with temporary arrays. The good news is that there is nothing complicated about them and they are very useful. First of all, what is a temporary array? […]
As technology expands, we have a similarly increasing need to create programs that can be handed off – to clients, to regulatory agencies, to parent companies, or to other projects – and handed off with little or no modification needed by the recipient. Minimizing modification by the recipient often requires […]
The post Using the SAS Macro Language to Create Portable Programs appeared first on SAS Learning Post.