Book Review: The Rational Guide to Business Scorecard Manager 2005, by Nick Barclay and Adrian Downes

I’ve got an admission to make: I’ve never really done anything seriously with Business Scorecard Manager (perhaps European businesses are less interested in formal methodologies like the Balanced Scorecard?), so when Nick Barclay asked me if I’d like a free copy of his new book about it I was very interested to see it so I could get up to speed. Having been a long-time reader of his blog (http://nickbarclay.blogspot.com/) and also having recently started reading his co-author Adrian Downes’ blog (http://adriandownes.blogspot.com/), I had high expectations since both are among the best Microsoft BI-related blogs out there and I wasn’t disappointed.

BSM2005 isn’t a massive topic, and as such is an ideal fit for the Rational Guide series where books are limited to 224 pages in length to make sure they’re as concise as possible. In a world where most IT books seem to be doorstop-sized this is a welcome move, and although Nick and Adrian have sidestepped this constraint by making a couple of extra chapters download-only the book is very to-the-point without descending to Books Online territory. The technical side of things is handled with great clarity and there’s also a healthy amount of discussion of the theory of performance management too. The text is clearly laid out with a lot of illustrations and all processes are broken up into numbered steps making it all very readable.

The one obvious (and probably unfair, but it’s what everyone will be thinking) criticism that can be made about this book is that it’s about BSM2005 rather than the forthcoming PerformancePoint. Hopefully the authors are planning to update it as soon as PerformancePoint gets released, whenever that will be – it seems like the entire Microsoft BI world has been holding its breathe waiting for PerformancePoint for so long we’re in danger of turning blue and fainting. Apart from that, if you’re about to start a project involving BSM2005 I can’t imagine a better resource to have on your desk.

You can buy it from Amazon UK here.

Intelligencia OLAP Controls

Andrew Wiles announced yesterday the availability of a beta version of his new MDX query builder component, ‘Intelligencia OLAP Controls’:
I had a quick demo of it this morning and I was very impressed. It has some really quite clever ideas in it such as the spreadsheet-based calculation functionality, and while it doesn’t do absolutely everything I’d like (it is still a beta, after all) it does an awful lot and Andrew is very open to feedback for what needs to be added. If you’re interested in checking it out you can download it here:
 
The product is aimed at ISVs, in-house developers and consultants who want to incorporate MDX querying functionality in their own products. I’ll be blunt: the company that really should be looking at this, and perhaps licensing it for use in Katmai and/or future versions of Office, is Microsoft. The control’s Office 2007 look-and-feel gives a tantalising glimpse of what a power user would want to see in Excel when connecting to AS and it puts the Reporting Services MDX query builder to shame.

Want to work for Microsoft?

The AS user education team are having a hard time trying to recruit someone who knows MDX. Is this something you, dear reader, would be interested in? Here’s the job description I got from Neil Orint:
 

Do you have a background in Analysis Services and MDX? Are you looking to put your mark on the next version of SQL Server content deliverables? Want to work on a writing team where your development team counterparts are as passionate about your content as you are? If so, the Analysis Services User Education team is looking for an experienced technical writer to assist us in delivering top-notch customer facing technical documentation.

The successful candidate will have a strong background in technical writing, a working knowledge of MDX and OLAP; possess solid project management and planning skills and a passion for learning new technologies. Strong communication skills are a must. As a member of our team you can expect opportunities to:
· Help define and execute upon content strategies and prioritizes
· Listen, analyze and respond to customer feedback
· Learn the entire spectrum of Microsoft’s business intelligence offering – Integration Services, Analysis Services, Reporting Services, Office and more.
Qualifications
· A practical understanding of MDX and OLAP.
· A history of developing assistance content for end users in a variety of delivery formats
· The ability to learn new tools, technologies, and processes quickly and independently

Please contact: neilor@microsoft.com

 
Please email Neil on the address given if you want to discuss it further.

Batch Reporting With SSIS and OfficeWriter

I’m a long-standing fan of OfficeWriter, the tool that’s just been licensed by Microsoft for possible inclusion in Katmai Reporting Services, and recently I was engaged by Softartisans to write a few articles for their website (yes, that means I was paid). Here’s the first of them, on how to create a batch reporting solution using their components and Integration Services:
 
Seems a bit of a weird thing to want to do when you can do the same thing in Reporting Services, but as I say in the article there are some advantages for using Integration Services for this task. I’m going to write another article next week on using OfficeWriter with Excel 2007 and Analysis Services which I’ve got some fun ideas for…

Dataupia

Following on from the Teradata post, I was just wondering how well the newly announced Dataupia (their website is rubbish at explaining what the product is – and I can’t even pronounce the name – but see this article for background: http://www.channelregister.co.uk/2007/05/15/dataupia_databases/) would work with Analysis Services, if you were using Dataupia underneath SQL Server and using AS in ROLAP or HOLAP mode. Could make for an interesting story for scalability if it does what it says on the box.

Teradata/Analysis Service White Paper

(Via BI/BPM – The SeeQuel) Here’s the first fruit of the partnership between Microsoft and Teradata that was announced earlier this year: a paper describing how to use Analysis Services in ROLAP mode with Teradata:
 
I’ve heard of people trying to do this for years, usually experiencing a lot of pain along the way, and by all accounts the situation still isn’t ideal but it sounds like it’s getting there.

AS2005 MDX Course Now Available

<Shameless Advertising Plug>
 
As I’ve mentioned before, I do all of my training activities through Solid Quality Mentors (also known as Solid Quality Learning) and earlier this year they persuaded me to write an MDX course for them. You can see the outline on their website here:

 
If you’re interested in booking this as a private course please contact Solid Quality through the address on the site. If you’re in the UK you’d definitely get me teaching it and I’d probably cover certain other European countries too, but the good thing about Solid Quality is that they have a network of top-notch BI people not only in the US but also in Central America and continential Europe too, many of whom will be teaching this class as well.
 
I think there’s a real need for in-depth MDX training out there – even people who know Analysis Services really well sometimes struggle with it, and you can only get so far without understanding the fundamentals. With PerformancePoint on the way the market is only going to grow and I’ve deliberately kept the first day or so as platform-agnostic as possible with a view to adapting the material for SAP BW, Essbase, TM1 and Mondrian MDX at some point in the future.
 
One last thing to mention: Solid Quality have also got a lot of other Microsoft BI courses if you’re not just interested in MDX. Take a look:
They’ve even got an Analysis Services data mining course written by Dejan Sarka:

 
UPDATE: I no longer work with Solid Quality, so if you want MDX or Analysis Services training then come straight to me! You can find out more at http://www.crossjoin.co.uk/training.html
 
</Shameless Advertising Plug>
 

Speaking at the NxtGenUG

Just thought I’d mention that I’m speaking at the NxtGenUG (Next Generation User Group) meeting at Oxford on June 19th, on the topic of "Business Intelligence with SQL Server 2005 Analysis Services":
 
 

Live on stage at the BI Conference

OK, last BI Conference-related post… you’ve heard about the technical stuff, what else did I get up to while I was in Seattle? Erm…

That’s Christian Wade on guitar and me doing the whole Phil Collins singing drummer thing. Thank goodness the dvd hasn’t made it to YouTube yet… If you’re ever in Seattle I can definitely recommend a visit to the Experience Music Project!

Using Linear Regression to Calculate Growth

A few blog entries back I showed the MDX I used to calculate a seasonally-adjusted total in my chalk talk at the BI conference. This is useful but if we’re looking for a calculation that we can use for the Trend property of a KPI it’s not the whole story – we still need to find a way of expressing how much a value is growing or shrinking over time. Although previous period growth calculations are a lot more useful with seasonally-adjusted values, we can use simple linear regression (and it has to be simple because, as I said, I’m no statistician) to do a better job.

The starting point for understanding how to use linear regression in MDX is (surprise, surprise) Mosha’s blog entry on the subject:

http://sqljunkies.com/WebLog/mosha/archive/2004/12/21/5689.aspx

However, the function that’s going to be most useful here is the linregslope function. If we’re looking at the values in our time series and trying to find a line of best fit for those values with the equation y=ax+b, linregslope returns the value of a in that equation, ie the gradient – when the value of x increases by 1, y increases by the value of a. Here’s an example of how to use it:

with member measures.gradient as
linregslope(
lastperiods(3, [Date].[Calendar].currentmember) as last3
, [Measures].[Internet Sales Amount]
,rank([Date].[Calendar].currentmember, last3)
)

select {[Measures].[Internet Sales Amount], measures.gradient} on 0,
[Date].[Calendar].[Month].members on 1
from [Adventure Works]

The trick with using this function in MDX with a time series is to be able to work out what values you want to pass in for the x axis. Here I’ve used the lastperiods function to get a set containing the current member on the Calendar hierarchy, the previous member on the Calendar hierarchy and the member before that, in the first parameter of the function; at the same time I’ve declared a named set and then used that with a rank function in the third parameter to return the values 1, 2 and 3 for each of these three members.

This gets us the slope, then, but I was thinking it would be better to express this value as a percentage – but of what? The current period’s value? Or one of the preceding two periods values? I have to admit I don’t know which would be correct. Can someone help me out here? Please leave a comment..