Archive for April, 2008

Automating my Scorecards

Apr
28

I have been spending a lot of time lately working with SAS Strategic Performance Management and the Batch Maintenance Facility (BMF).

The BMF enable you to automatically create SPM Scorecards by uploading .csv files and can automate the creation or amendment of SPM:

  • Scorecards
  • Elements (i.e metric, goals etc)
  • Attributes (i.e Descriptions, Links etc)
  • Cells (i.e Actuals, Targets etc)

Importantly BMF utilises the SPM API and loads via the webserver, rather than doing a direct SQL insert into the MySQl backend, like the old speedyloader routines did. This means it is also supported SAS technical support.
Also BMF allows you to create, edit and delete both scorecard structures as well as the scorecard data which means you can use it to prototype your SPM (which is what we are doing) and load data (which we may do, although we may use the standard SPM DI Studio jobs instead, I will post our decision and logic once we have evaluated both)

Its also pretty quick, we are loading 200 scorecards and 1400 elements in under a minute and this is on a windows platform, with limited RAM available.

Interesting enough deleting them via the SPM interface takes upto 10 minutes.

In the background are a couple of SAS Macro’s you will need to install and then call to do the load. There is also some pretty good documentation available to help you get started, but I can’t seem to find a copy on any public SAS website.

So you will have to ask your friendly SAS account manager for the doco if you want to have a go.

Share
Posted by  
0 Comments

SAS Monotonic (would you like Gin and a slice of Lemon with that)

Apr
05

I was using Enterprise Guide the other day to merge some data into a single table and I needed to generate a unique sequence for a derived column.

I asked around for the best option and was told that using ‘_n_’in a datastep would do i, but of course this would have to be a custom code node, and I was using the Enterprise Guide filter and query wizard, which meant I would have to create a second step within my process flow.

No biggy, but within Oracle I would have just called the Sequence function and all would have been good,

Then our resident SAS Geek (note the removal of Uber) mentioned that I could use ‘Monotonic()’. So I created a new computed column in the query, added Monotonic() as the expression and Bob’s you uncle (or even Aunt these days) EG produced a unique sequence in the new column.

The Monotonic() function is apparently experimental in SAS 9.1. But was mentioned in a SUGI paper : Helpful Undocumented Features in SAS

And according to Wikipedia it is:

“In mathematics, a monotonic function (or monotone function) is a function which preserves the given order.”

Share
Posted by  
2 Comments