The second edition of my book "Fast Track to MDX" is being printed. I just received yesterday my author copies, but as far as I can tell, it still didn't hit amazon.com or barnesandnobles.com. It is an ironic coincedence that the second edition gets published at the same time as Analysis Services 2005 is being released, since the second edition is still focused on Analysis Services 2000 (we still didn't finish the new book about AS2005). Basically the difference between first and second edition are three additional chapters that we wrote. While these chapters are a little bit more advanced then the rest of Fast Track to MDX, they are still not very difficult, and I probably won't recommend to buy new edition just because of these chapters. However, people buying the book for the first time, would benefit from them. Chapter 19 talks about things like custom member formulas and data members in parent-child. Chapter 20 is called "Recursion in MDX" (and you can see on the cover of the book read bubble with "Introduces Recursion" inside of it). This is probably the most interesting chapter for the people who didn't experience MDX recursion before, or who run into infamous "Infinite recursion" error and didn't know how to resolve it. It discusses recursive approach to common problems such as "Last Non Empty Child" and "Running Sum" and then makes a bridge to the previous chapter by showing how to use custom member formula to load data to non-leaves of parent-child. Of course, on the way of doing it, it runs into special type of recursion - on the same cell, which gets resolved through CalculationPassValue function. Chapter 21 discusses methodology for estimation of calculation formula performance in specific queries. The example shows how to do the calculations for both recursive and iterative approaches. And then it goes on to discuss NonEmptyCrossJoin function, its effect on performance, its pitfalls etc. (One of the reviews for the first edition on amazon.com specifically complained that we don't tell in our book how to improve performance of MDX, and while I think that wasn't the goal of our book, I still wanted to address it in some form). I also wanted to make these chapters more advanced, but I was warned that they already go above the level of our book, and our book is intended as introductary book.
It also could be viewed as ironic the fact that the new MDX functions that we get to discuss in the second edition, are exactly the ones which I mention as deprecated in AS2005 in my
blog - i.e. CalculationPassValue, NonEmptyCrossJoin - but the reality of AS2000 is such that it is impossible to avoid them. Luckily AS2005 does address these issues, and the material represented in the new chapters is still very relevant to AS2005 - only it becomes even easier to do it there.
While on the subject of writing, I am a little bit at crossroads about what subjects to cover in my blog. I have lots of ideas, but I am not sure which ones are going to be useful. I sure know what looks most interesting to me, but from experience I also know that things which are interesting to me are not necessarily interesting to other people. Below are few random ideas that I had, and I even started to write about some of them, and I would appreciate if you will leave a comment about how useful this information would be for you, or any new ideas that you have (the list below is not in any particular order)
1. Writing multiselect friendly MDX calculations - i.e.how to define expressions for calculated members such that they will work correctly, when user chooses multiple members in the slicer or uses visual totals in Excel, OWC and other client tools
2. AS2005 protocol: Under the hood - sure we say that AS2005 uses XMLA as underlying protocol, and it is true, but the real picture is quite more complex then that. We can go into details to understand what's going on
3. Performance of writeback - cell writeback is generally not understood very well, and there are 6 or 7 different aspects of it which have impact on performance. We can go in detail about each one.
4. Inside AS2005 MDX Script Debugger - how does MDX Script Debugger work internally, what is the engine support behind it
5. AS2005 Security Enhancements - there are tons of improvements for security - authentication, encryption, fine grain admin permissions, middle-tier app support etc.
6. Performance of MDX: Calculation caching - caching is undoubtly single most important factor in performance of the system. While aggregations and storage engine caching are generally well understood, the factors involved in caching of calculations are somewhat more complex and sometimes not trivial. We can discuss all the details and how to take advantage of that knowledge to improve application performance.
Update: Few people asked when AS2005 book will be ready. I am afraid not for a while. I was pretty busy with Yukon release, and while now I am supposed to have more time, there are some developments not yet to be discussed (not to mention my marathon training, now that Seattle marathon is only 2 weeks away). Anyway, Chris Webb complied very good
list of upcoming AS2005 books in his blog. I had some exposure to them:
1. Applied Microsoft Analysis Services 2005 and Microsoft Business Intelligence by Teo Lachev. This book is already available for order on Amazon. I did not have time to review this book, but based on the questions which Teo posted (and I had an honour to answer few) I think this is going to be very good book. I am certainly convinced that Teo understands AS2005 in depth. I can't wait to get my hands on it.
2. MDX Solutions (2nd Edition) by George Spofford, Siva Harinath, Chris Webb, Francesco Civardi, Dylan Huang. Unlike Fast Track to MDX 2nd Edition - this is very substantional rewrite. I am reviweing now some of George's chapters - and they are as usual very comprehensive, complete and full of useful information. Also, over the years I got to work with Chris, Siva and Dylan - all of them are very capable and well versed in Analysis Services. I am sure this will be an excellent book. I think it will be available soon.
3. Microsoft SQL Server 2005 Analysis Services by Irina Gorbach, Alexander Berger, Py Bateman, Edward Melomed. I reviewed most of this book, which is almost finished by now. It is written by my close friends and collegues, and it covers Analysis Services from very unique angle - being written by the members of development team. I think this book is a must to have. There are other books in the abovementioned list which I didn't look at yet, but based on authors they should be quite good as well.
And to offset such positive reviews - here is one negative one. Last week I saw a book on SQL Server 2005. It had a section on Analysis Services as well. I opened it randomly on the Security chapter, and it was pretty inaccurate. It looked like the authors didn't even try what they were describing, because they would quickly discover that the properties they refered to simply don't exist. The book is authored by Scalability Experts - the company which was involved in Project REAL. This is why I was so surprised to see what a poor job they've done in the book.