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

Implement BY processing for your entire SAS program

Most SAS procedures support the BY statement, which allows you to create a report or analysis for each distinct value of a variable in your data set. The syntax is simple, and SAS procedures are usually tuned to do a good job of processing the data efficiently. However, the BY [...]

Post a Comment

Numbers great and small: the problem of Big Datum

About once a month, a customer approaches SAS and asks a question of significance. By “significance”, I don’t necessarily mean “of great importance”, but instead I mean “of how SAS handles large numbers, or floating-point values with many significant digits”. In response, we always first ask why they asked. This [...]

Post a Comment

Reaching a dubious peak

So many of us struggle with this mountain. In fact, 68.27% of us get within sight of reaching the summit (while 95.47% of us are at least on a perceivable slope). We run, walk, crawl and sometimes slide our way uphill (from one direction or the other) until we finally [...]

Post a Comment

Choose your own adventure with SAS OnDemand for Professionals

In the past, getting your hands on SAS for learning purposes required one of two fortunate situations: being a student enrolled in a college course (or high school!) where SAS is taught working for an employer who is willing to sponsor your training, either in an official course or on-the-job. [...]

Post a Comment

Pitfalls of the LAG function

In the immortal words of Britney Spears: Oops! I did it again. At least, I’m afraid that I did. I think I might have helped a SAS student with a homework assignment, or perhaps provided an answer in preparation for a SAS certification exam. Or maybe it was a legitimate [...]

Post a Comment

A SAS options viewer for SAS Enterprise Guide

On the heels of the release of the popular SAS macro variable viewer from last month, I’m providing another custom task that I hope will prove just as useful. This one is a SAS options viewer, similar in concept to the OPTIONS window in SAS display manager. You can download [...]

Post a Comment

Inspecting SAS macro variables in SAS Enterprise Guide

The SAS macro variable “inspector” is a custom task that plugs into SAS Enterprise Guide 4.3. You can use it to view the current values for all SAS macro variables that are defined within your SAS session. You can also evaluate “immediate” macro expressions in a convenient quick view window. [...]

Post a Comment

Take SAS program editor abbreviations to the next level

Rick posted a tip today about using abbreviations in the SAS program editor window (often referred to as the “enhanced editor”). Defining abbreviations is a great way to save keystrokes and re-use “templates” of code that you’ve squirreled away. (One of Rick’s readers also picked up on the tip, and [...]

Post a Comment

Do you mind if we dance with your DATEs (or DATETIMEs)?

I’ve been working with date-time data on a recent project, and I’ve come across a few SAS programs that have “opportunity for improvement” when it comes time to create reports. (Or maybe I haven’t, and I contrived this entire blog post so that I could reference one of my favorite [...]

Post a Comment