Monday 27 August 2012

NOTE: SGF Call for Papers 2013 Opens Tomorrow #sasgf13

The Call for Papers for next year's SAS Global Forum (SGF) opens tomorrow, August 28th.

The conference will take place between April 28th - May 1st 2013, in San Francisco, USA.

Paper presentations are an invaluable part of what has made SAS Global Forum a focal point of knowledge and learning within the SAS community for more than three decades. They offer a fantastic way to not only gain recognition for your expertise among fellow SAS professionals, but also create a dialogue with your peers and colleagues. Attendees can benefit directly from your paper presentation by applying your perspectives and ideas to their own work.

Benefits to you include:

  • Professional development. Hone your business and communication skills and demonstrate them to your employer to help you take the next step in your career. 
  • Educational process. Use the process of preparing a paper as an avenue to find better ways to deal with programming issues. 
  • Insightful feedback. Get helpful feedback on your ideas and approaches to programming problems. 
  • Key connections. Increase your visibility and leadership potential by meeting contacts and colleagues in your industry and in the SAS community. 
  • Community experience. Enjoy sharing your ideas and participating in social functions with other members of the SAS community.

You have plenty of time to prepare your proposal before the Call ends. What are you waiting for?!

NOTE: Metacoda Plug-Ins V3 With Free Plug-Ins

Metacoda's Michelle recently wrote to me. I'm a fan of the Platform Admin blog, written by Metacoda's Paul; and I've long been a fan of Metacoda's Security Plug-Ins that offer a far wider and clearer window onto the complexity of SAS security metadata. I'm keen to support all the great products in the SAS third-party market, so I'm happy to reproduce the key parts of Michelle's email below.
I hope you are well. Seems like you enjoyed the Olympics and that you enjoyed the atmosphere, events and spirit it brought... (BTW we noticed that the year 2012 referenced in your blog post, you have as 2012 BC... I think you meant 2012 AD ;-) )
[Argh. Since I took my 2 month break, I seem incapable of writing a decent blog article. The Olympic article is now corrected. Thanks Michelle]
I wanted to let you know (in case you haven't seen it already) that we have a new beta release within our Metacoda Plug-ins software that includes 2 free plug-ins (ACT Reviewer and the Metacoda Metadata Explorer). We have 2 blog posts about it at: - talking about what is new and a detailed technical blog post Paul did on the Metacoda Metadata Explorer

If you (or any of your customers) are interested in getting a 1 month evaluation on our Metacoda Plug-ins V3 BETA2 release please fill in the form at

Kind Regards,
SAS's security layer provides an excellent amount of freedom, choice and coverage. The Metacoda Plug-Ins give you a fantastic ability to fully understand and maintain your ACTs, ACEs, and all the other components and relationships in your security layer. The screen shot below gives an indication of the range of functionality available. Why not take-up Michelle on her offer of a 1 month evaluation?...

Tuesday 21 August 2012

NOTE: SAS Software is Great, But ...

It can be quite disconcerting when you unexpectedly find that something (or somebody) with which (whom) you've become very familiar over the years has suddenly changed significantly. I can't even remember why I was recently looking for information about the SASware Ballot, such was the shock to find the changes that had happened to this old friend.

Since I can remember, the SASware Ballot was an annual survey of customers by SAS, with the aim of giving customers the opportunity to influence product development by voting on their favoured enhancements. It used to be posted to all customers; the results would be announced at SAS Global Forum (and its predecessor, SUGI) with great fanfare.

So, imagine my surprise to find that it's now online and open all year round. Fantastic! There is still a fanfare and announcement of results at SAS Global Forum, but it's now an ongoing, continuous "conversation" between SAS developers and SAS customers.

So, if you would like to propose an enhancement to SAS software, go visit the SASware Ballot and make your voice heard. You can propose new ideas (to be considered by Development for inclusion in the Ballot), and you can vote on existing suggestions.

I was disappointed at the absence of a category for SAS DI Studio, but I took the opportunity to vote for a number of features (I won't risk skewing the voting by mentioning them individually). And, no, I still can't remember why I was looking for the Ballot in the first place!

Get voting!

Monday 20 August 2012

NOTE: BI Testing

I recently spotted a valuable posting from SAS's Angela Hall on her Real BI for Real Users blog. I hesitate to suggest it was valuable because that implies her other posts are of less value! Not true, but this particular article was titled Testing recommendations for SAS BI Dashboard & SAS Web Report Studio and, with its structure following the data flow of a BI report, it offered a comprehensive check-list and set of suggestions for end-to-end testing of your BI reports.

Testing delivers confidence not guarantees, and Angela's posting offers advice on how to decide what amounts of testing are appropriate for you.

SAS technology is easy to work with and provides quick and efficient tools for getting your results quickly, but it cannot prevent its users from making mistakes. Beware of using the ease and efficiency of SAS technology to produce the wrong results quickly. As Angela says in her posting, "the most important thing is to do SOME testing of your reports"; that has to be the most valuable piece of advice in the posting!

Tuesday 14 August 2012

NOTE: When WORK is not WORK (Update)

That's what happens when you take a break! I've not posted in here for a couple of months; my first post after my break (NOTE: When WORK is not WORK) looks a little sloppy. Damn!

The information was technically correct, but I've had a couple of polite comments providing me with clearer, better information.

Firstly, Linda drew my attention to the fact that the example I had provided only worked for Unix. I assigned  the USER libname to "~". The squiggly line (called Tilde) means "my home directory" in Unix, but has no special meaning on Windows. Replace the tilde with a valid Windows path, e.g. "c:\", and you'll find it works a treat.

And then Chris found what I had singularly failed to find (despite some considerable searching). I had found Unix documentation for the USER library, but I couldn't find it in any OS-independent documentation. Chris pointed me straight to the right place in the SAS(R) 9.3 Language Reference: Concepts manual.

My thanks to Linda and Chris for taking the time to post comments.

As my history teacher used to write in my reports: "must try harder"!

Monday 13 August 2012

NOTE: Farewell to London 2012 #London2012

This week is going to feel strange. "London 2012" will revert to simply being a reference to London in the year 2012 AD. Since the 2012 Olympics were awarded to London on 6th July 2005, the phrase "London 2012" has held special meaning and anticipation for us Brits.

The last few weeks have been one long celebration for Londoners. Aside from some fabulous sport and competition, London has benefited from a multitude of cultural activities and events. Coming so soon after the celebrations for The Queen's Diamond Jubilee, I've forgotten what London is like in "ordinary" times.

On my journey to and from my London office, and meeting friends and colleagues around London, I've seen plenty of Wenlock and Mandeville statues in a variety of costumes; a smartly suited gentleman with a flowerpot head walking around London Bridge railway station; London 2012 bunting everywhere; friendly greetings from every one of the many, many Olympic volunteers I came across; and had my hand shaken by a member of the Ood upon my arrival at London Charing Cross railway station!

I was immensely grateful for the 24 (yes, count them, 24!) BBC TV channels, showing every minute of every sport live in High Definition quality. I'm now looking forward to the start of the Paralympics. I've got tickets for one of the paralympic equestrian events (no jokes about horses in wheelchairs, please) and I'm desparately fighting the Olympic ticket web site to get tickets for the athletics. Wish me luck!

Anyway, ... the Olympics have brought smiles and cheer to Londoners, but they have also delivered a deluge of data and information. So, to round-out London 2012, I thought I'd round-up some of the best SAS-related Olympic data articles:

Graphs of Olympic proportions!, by Rob Allison

Data visualization of funding of 2012 Olympics, by Charles Pirrello

Watching the London Olympics on my smartphone - Now this is BIG DATA, by Ken King

Summer Olympics 2012 – athlete analytics with JMP, by Daniel Valente

The articles contain a nice mixture of graphics, finances, and statistics. If there was an Olympics for SAS practitioners, what event would you be entering?...

Now we have the paralympics to look forward to...

Sure You Know the Answer, But Ask Somebody Else Anyway!

The art of listening is one of the most valuable skills for a leader. Whether you're a team leader, technical lead, or simply more experienced than some of your colleagues, you'll gain a great deal by doing an appropriate proportion of listening relative to the amount of talking that you do. Remember, we're born with two ears but only one mouth; that sounds a good proportion for listening versus talking!

I've previously written about listening in the context of being a better leader/colleague, but there's more to the art of listening. If an issue or a challenge arises for your team, consider asking your team to propose a solution, even if you're confident you personally know how best to respond to the issue or challenge. You will benefit from making the team take responsibility, and it reduces their dependence on you - you don't want to be the cause of your team having a bus factor of 1!

Members of the team have probably faced a majority of the issues long before you joined. Remember, you are trying to help the team learn to work without your help; you're not trying to make your team dependant upon you. Sometimes, this means you have to let them make a decision that goes against your best judgement. Teams need to learn by their mistakes; and, in my experience, often times their idea works out, which means you can learn something too - and that's got to be a good thing for everybody.

Saturday 11 August 2012

NOTE: When WORK is not WORK

When you code a one-level data set name, i.e. a data set name with no libname specified, you probably expect it to be read or written from/to the WORK library, but that might not be so. Read on...

Subject to the value of the USER= option, one-level data set names refer to the USER libname if such a libref is allocated; if not, they're written to WORK.

Here's an illustrative log. You can see how the same DATA statement is used in the two separate DATA steps (apparently implying the same output data set). Yet the NOTEs in the log show you how the behaviour changes after the USER libref has been assigned.

17         data demo;
18           x='first';
19         run;

NOTE: The data set WORK.DEMO has 1 observations and 1 variables.

21         libname user '~';
NOTE: Libref USER was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: /home/ratclac
23         data demo;
24           x='second';
25         run;

NOTE: The data set USER.DEMO has 1 observations and 1 variables.

Once the USER libref has been assigned, the only means of accessing the WORK library are:

  • Clear the USER library, e.g. libname user clear;
  • Specify WORK as the first qualifier for a data set name, e.g. data work.demo;

Knowledge of the USER option can form a very useful debugging technique whereby you can quickly switch your code between creating temporary work data sets (normal mode of operation) and permanent user data sets (for debugging).

You can find documentation at the links below:

However, why can I find it in the Unix Companion but not the Windows Companion? In fact, why can't I find it in the OS-independent companion. Answers on a post card please. Am I simply being myopic??