Wednesday, 10 February 2010

Analytics Camp NC

I noticed a lot of tweeting last weekend with hashtags of sas and acampnc. I managed to figure-out that there was some kind of informal, analytics event in North Carolina named Analytics Camp NC. I took the time this week to find out more. Seems it was a useful event, and an interesting format too.

Angela Hall (she of the SAS-BI blog and latterly a Technical Architect at SAS) has offered two very informative posts: Designing Dashboards Successfully (answering the question "What should all dashboards have to make them useful and successful?") and Content Analytics "All Abouts" on text analytics. Thanks Angela. Other follow-up articles are listed on the home page of the Analytics Camp web site. Social media is a growing area of organisations' marketing plans, and it's clear that there's a lot of growing interest in the area of social media analytics, i.e. tracking readers, followers, fans, and (most importantly) buyers.

The Analytics Camp web site offers further information about the objectives and organisation of the event:

Tuesday, 9 February 2010

NOTE: Enterprise Guide Add-Ins Are Out There

I wrote recently about the paucity of 3rd-party add-ins for Enterprise Guide. I finished the post by wondering aloud whether there were more that I hadn't found. Well, I've had no reports of any 3rd-party add-ins, but in Chris Hemedinger's SAS Dummy blog he summarised a good range of SAS-supplied add-ins that are available for free download.

Whilst they are largely unsupported, they certainly provide some jolly useful functionality. And the source code is provided so you can support them yourself.

Thanks Chris!

Monday, 8 February 2010

NOTE: The DIVIDE Function

At the risk of stumbling over the description of another "new" function, I discovered the DIVIDE function alongside my discovery of the IFC/IFN functions. This is definitely new in V9.2; confirmed by the What's New in the Base SAS 9.2 Language web page.

It caught my eye because it handles those division scenarios where SAS normally issues notes or warnings to the log, e.g. divide by zero. In many cases you would want to be warned of missing values and divide by zero, there are some cases where you do not, but you need to create long-winded conditional coding around your division in order to avoid the messages. Well, with the DIVIDE function you don't.

NOTE: More on IFC and IFN

It seems my recent post on the IFC and IFC functions caused a fair bit of interest. Not least in further related functions.

Firstly I must own-up to my mistake of originally stating IFC and IFN were new with 9.2. A number of correspondents pointed-out that they were available from the beginning of V9. Plus, I have it on good authority that they were experimental in V8.2 (albeit possibly with different names). They were implemented primarily to provide a logical construct that could be used interchangeably in both SQL and data step code. They happen to be a lot shorter than SQL's case/when/else construct too! My thanks to the little ex-SAS birdie and the correspondent who passed the message along.

Secondly, The SAS Plumber started a thread on news:comp.soft-sys.sas. In response, Data _Null_ pointed-out that the third conditional value only gets returned when the value of the first parameter is actually missing; hence my description of the functionality was incorrect. Jason Secosky pointed-out the same thing in comments on the original post. And Ron Fehd highlighted the safe, traditional option of using the SELECT statement.

Finally, Jack Hamilton suggested a look at CHOOSEC and CHOOSEN. These were new to me too - I've clearly been walking around with my eyes closed (and bumped into something, causing the poor quality of the original IFC/IFN post!). The syntax for both is:

CHOOSEx (index-expression, selection-1 <,...selection-n>)

The CHOOSEx function uses the value of index-expression to select from the arguments that follow. For example, if index-expression is three, CHOOSEx returns the value of selection-3. If the first argument is negative, the function counts backwards from the list of arguments, and returns that value.

In his comments to the original posting, Jack also mentioned that IFC/IFN are also available in the macro language via %SYSFUNC, and so provide a primitive IF/THEN/ELSE mechanism in open code. Jack highlighted the example in the sascommunity.org wiki.

So, I now know four functions that I'd not heard of just a few short weeks ago. And I've made a note to read the documentation more carefully before posting next time! My thanks to all of you who contributed to the discussion.

Friday, 5 February 2010

Round the World: Race 5 Ends - More Incidents for SAS Consultant's Yacht

The Clipper 09-10 Round the World Yacht Race, featuring UK-based SAS consultant Andy Phillips onboard the 68-foot Team Finland, continues to offer incidents and accidents. As race 5 was building to a close-fought contest between a number of yachts, one of Team Finland's rivals, Cork, struck a submerged reef in the Java Sea, leaving its crew to hurriedly launch the life rafts and paddle to the nearby small island of Gosong Mampango. Thankfully nobody was hurt. All 16 crew were subsequently evacuated to two sister yachts, Team Finland and California.

Tuesday, 26 January 2010

NOTE: A Great and Growing Place to Work

I was interested to see that FORTUNE has ranked SAS as number one best company to work for in America. FORTUNE lists child care, health insurance, and the Cary campus's medical centre & fitness centre as just some of the reasons for SAS's top result. For those of us that don't work for SAS this is still good news because we can rest assured that new versions of the software are being developed by happy and motivated staff. As Mikael Hagström (Executive Vice President, EMEA and Asia Pacific) says in his blog, SAS's focus on its staff ensures that it is able to "continue to attract top talent and domain experts".

Also on the radar for those who have invested in SAS software: SAS have reported revenue growth of 2.2% (to $2.31 billion) in 2009. Whilst this is a lot less than the fabled "double digit growth" that SAS have achieved for most of their 34 year history, it's still a good performance in the current market conditions. Indeed, in some markets, such as retail, double-digit growth has actually been achieved. However, a note of caution is required. The Bankers' Mantra says "turnover is vanity, profit is sanity". I've not seen any published profit figures (as a private company SAS are not obliged to publish any), so we can't be sure at what cost the increased revenue was produced.

"We live in a global economy," said SAS Senior Vice President Jim Davis. "Not everyone is turning the corner at the same time. In 2010, we need to realise where the opportunities lie and how to approach those opportunities based on whether that particular region is seeing the light at the end of the tunnel."