There’s a debate in the UK, and many other countries around the globe, regarding the content of the IT curriculum (or, ICT as it’s known in the UK). Speaking from experience, my kids have been taught how to use Microsoft Office products, but they hav…
NESUG 25 In Review
I had a great time at NESUG 25! Great networking opportunities, excellent papers/presentations, and a tremendous amount of support from SAS itself. Papers As always, there were a number of terrific papers. The full proceedings are now posted. I w…
Object-oriented access to SAS data in a custom task
Most custom tasks need to access SAS data in some way. Since custom tasks are built using Microsoft .NET, and the .NET Framework is object-oriented, it would be convenient if we had an object-oriented method for navigating SAS data sources. That was the thinking behind the “SasData”-namespace classes within the […]
SAS 9.3 macro SQL trick
Suppose you need to create a numbered series of macro variables, one macro variable per row, from an SQL query. Suppose you magically know in advance that a given WHERE clause returns, say, 123 rows. No problem! proc sql; select customer_name into :…
Next best thing since sliced bread – SAS Enterprise Guide
I recently had a student in a SAS Enterprise Guide class declare that EG was the next best thing since sliced bread. I couldn’t have agreed with her more! In this post, I‘ll share four ways where EG outperforms SAS code –yes I know you’re a cod…
Efficient acceptance-rejection simulation
A few days ago on the SAS/IML Support Community, there was an interesting discussion about how to simulate data from a truncated Poisson distribution. The SAS/IML user wanted to generate values from a Poisson distribution, but discard any zeros that are generated. This kind of simulation is known as an […]