Learn not one, not two, but four languages in SAS

I started young. Since I was 9 years old, I’ve always loved cooking delicious, tasty and healthy food, and feeding friends and family. My aunt still remembers the delicious chocolate soufflé that trembled and shook but would never collapse that I made for them when I was 18! Word spread. […]

Post a Comment

Jedi SAS Tricks - Make This a Button in Base SAS

A recent post, Jedi SAS Tricks: The DATA to DATA Step Macro, engendered a lot of response on Twitter. One of the re-tweets included a call to action - make this a button in Base SAS! tags: customizing the toolbar, programming, SAS macro, tips and tricks

Post a Comment

Jedi SAS Tricks: The DATA to DATA Step Macro

I was answering questions about SAS in a forum the other day, and it struck me how much easier it is to help folks if they can provide a snippet of data to go along with their program when asking others to help troubleshoot. This makes it easy to run […]

Post a Comment

Everything’s bigger in Texas, so … SAS Education offers HUGE training savings!

SAS Global Forum brings together the most die-hard SAS users, both veteran and novice, once a year. It’s one of those can’t-miss events, and each year it just gets better. 2015 will bring us all together in Dallas, Texas for several days of active learning and excitement from SAS users […]

Post a Comment

Getting things in order with PROC SQL, macro and a SAS function

Order must be the most frequent cry for help in the SAS classroom. “HELP,” said my student in the classroom. “I work with messy health data. My users want to see data in this order.” T1.col1, t1.col2, t1.col3, t1.col4, t2.col5, t1.col6 and list the remaining columns in column position from […]

Post a Comment

Importing CSV files into SAS datasets

Sometimes, your first impulse may not be correct, like trading in your practical sedan for a hot 2-seater.  Other times, your first impulse is perfect, as in the examples below. Suppose the automobile data you wish to analyze resides in a CSV file.  Naturally, your first impulse is to import […]

Post a Comment

Coding in the fast lane with data-driven macro calls

The simple PRINT macro below prints a selected dataset: %macro print(data=&syslast,obs=5); proc print data=&data(obs=&obs); title "%upcase(&data)"; run; %mend print; Suppose you want to print every dataset in the library.  Would you enjoy typing a macro call for every dataset in the library? Only if you enjoy coding in the slow […]

Post a Comment

Time to trade in your jalopy macro?

Suppose you have an old jalopy that's perfectly reliable.  Your jalopy gets you where you wanna go: no frills; no drama. Do you trade your old wheels in for a racecar that accelerates like crazy and corners like it's on rails? Or stick with what's old and comfortable?   Your choice […]

Post a Comment

Don’t let your macros crash and burn

Your macro just crashed and burned.  So, what's the problem?  Let’s take a look: The text OR in the code above was misinterpreted as a logical operator.  To correct this issue, use the %STR function to protect (disable the normal meaning of) special characters and mnemonics in constant text: The […]

Post a Comment

Macro programmers: watch out for the Dead Man's Curve!

In my previous blog post, I mentioned that I love the power of the SAS macro language and the power of my yellow Corvette. Now, I want to tell you how to avoid a major pitfall along the “macro programming road.” At the risk of dating myself, you may recall […]

Post a Comment