Speaking the language of business intelligence with an Australian accent

Monday, April 10, 2006

Book Review - MDX Solutions Second Edition

MDX Solutions: with Microsoft SQL Server Analysis Services 2005 and Hyperion Essbase, Second Edition by George Spofford, Sivakumar Harinath, Christopher Webb, Dylan Hai Huang, Francesco Civardi

The first edition of MDX Solutions is without a doubt the MDX bible. My copy goes with me wherever I may encounter any MDX-writing requirements. It is by far the most tattered, thumbed-through textbook I own - those who have worked with me know that I keep quite a considerable library.

In accordance with blogging ethics I just want to ensure any readers of this review know that the copy of MDX Solutions I have read came to me free courtesy of Wiley Publishing. A few weeks ago, I received an email from one of the co-authors (and recent MVP) Chris Webb asking me if I would like a pre-release copy of the second edition. In any case I would have read and reviewed this book regardless of where I got it and how much I paid for it.

First impressions
From a purely superficial perspective the book is now about 40% bigger than the original. Just from the size difference alone I am surprised they would consider this a second edition. Did they just keep the title for name recognition? Probably a wise idea. I would almost class this as first edition; a new book. To me second editions are characterised by the author/s making corrections, adding or changing the odd paragraph and maybe an extra chapter or few. An example of this is Fast Track to MDX Second Edition. With all due respect to Mosha, Robert and Mark it was better than the first but not enough to warrant purchasing the second edition if you already own the first.

Content
As the new title suggests the book covers both Microsoft Analysis Services 2005 and Hyperion Essbase's implementation of the MDX specification. Both products and their subtle differences are detailed clearly and wherever possible. There are plenty of product-specific hints, tips & code samples throughout the book. In actual fact you could say that the book actually covers three products if you count AS2000 as a product unto itself. Naturally AS2000 takes a back seat to SSAS but there is still plenty in there.

The tone of the book is balanced so as not to be partial to one product over the other, it simply tells it like it is: Microsoft does it this way, Hyperion does it that way. In a few areas the authors give examples of particular functions/features that may exist in one product but not the other. This is often followed by details of techniques to mimic that behaviour in the other product. A good example of this is Member aliasing (p.158).

Where appropriate complete chapters are dedicated to the specifics of one particular product but mostly are covered together where they share a common MDX foundation. Because of the UDM and attribute-based dimensional model a chapter has been dedicated to going over the new SSAS architecture. Hyperion's User Defined Attributes (UDAs) also has its own chapter.

If you liked the first edition because of its depth of detail and examples you will not be disappointed, this one goes even deeper. I think I could almost feel some of the pain the authors went through as they tried, as succinctly and clearly as possible, to explain some particularly complex concepts within several short paragraphs and a few code samples. Even more so than its predecessor this book will make your brain hurt.

To me one of the hallmarks of a good technical book is that it contains information that is simply not available anywhere else i.e. you're getting good value for your money. The book details some MDX features that do not even get a mention in the current (Dec '05) BOL (don't know about Essbase documentation...). Best example is the HAVING clause, the only other place I was able to find any information about this new language feature was on Chris' blog. Ken Henderson's SQL 2000 Guru's Guides were also great examples of "stuff you won't find in BOL or anywhere else".

If I had a criticism of the book it would be (and I am nit-picking here) that on a few occasions sample code is presented containing a concept or syntax shortcut that has not been fully explained to the reader in preceding chapters.

Appendices
Often appendices get written but never really read and rarely referenced. Some technical appendices don't really add much value to what you can already find on line or in help files. I often wonder whether some are just put there to, y'know provide a bit of padding to get the publication into the "bloody big technical book" category.

To me probably the most valuable part of both versions of MDX Solutions is Appendix A . It is the back of the book that really promotes it to Bible status. Appendix A in this edition now has a 100 page Function and Operator Reference (the original was about 70 pages). MDX function documentation of this quality does not exist anywhere else, not in BOL, not anywhere. By Mosha's own admission a while back SSAS BOL is not as good as it could (should) be.

Some advice for beginners
I think one of the reasons there aren't as many people in the world who use MDX to its fullest is because the underlying concepts take a while to grasp. Many become disillusioned early on and say "I'll just do it in T-SQL, it's easier for me." I can see that George et al have tried to provide a little more beginner detail in the first few chapters of this edition, nonetheless the book still goes deep quite quickly. Beginners to MDX could potentially get lost whilst still trying to come to grips with the basic concepts of tuples and sets before being thrown in the multi-dimensional deep end.

If you are an OLAP novice or someone who has never written any MDX at all then this is not the book for you to start on. Don't get me wrong, you should still get a copy just don't read it first. I would recommend beginning with some lighter MDX reading. Fast Track to MDX Second Edition may help ease you into the MDX world without drowning in a sea of square and curly braces. Admittedly, it is based on AS2000 but the essence of MDX itself has not changed between 2000 and 2005, everything is still tuples, sets and axes. Fast Track is a smaller book and a lighter read and will serve to get you in the right mind set. So buy both books, read Fast Track first and then take MDX Solutions Second Edition off the shelf - you will get much more out of it, believe me. If you need more of an overall OLAP base with a bit of MDX mixed in then get a copy of Teo Lachev's SSAS master work (see my review here).

Overall
If you own the MDX Solutions first edition and were tossing up whether to get a copy of the latest let me put your mind at ease in that this is, in essence, a new book. Sure you'll see some of the same chapter and section headings and recognise some of the text from the original book but that is pretty-much where it ends. I had a good feeling that this book was going to offer more than the first edition when I first read the sample chapter, one of several which doesn't exist in the original at all. The 300-ish new pages are certainly not padding, the new MDX features and nuances are covered along with even more detail on the ones we already know.

If you are committed to making the most of OLAP technology and hence MDX then you will want a copy of this book. Whether you are going to use MDX on the odd occasion or design and build a full-blown OLAP browsing app there is no other equivalent end-to-end MDX publication available. The only other book which comes remotely close is the first edition.

In Closing
So, should we add tuple to the list alongside potato, tomato and all the others mentioned in that song our parents used to sing? (well mine did, anyway...)

Is it teu-pull, too-pull, or tuh-pull?

Oh bugger it, let's just call the whole thing off.

2 comments:

Anonymous said...

Very good review. My first edition is very well loved too. One of the best computer book investments I have made. I agree, the second edition is a new book and well worth buying if you ever need to write MDX.

Rose Weber said...

This iis a great post