MDX Courses Scheduled in California, Minnesota, Norway
I will be teaching my two MDX courses three times in the coming months.
The 2-day course “MDX for Creating Business Logic” is an introduction to the MDX language for individuals who are familiar with cubes and Microsoft Analysis Services but have not worked much with the MDX language. The focus is on learning how to translate an organization’s business logic into MDX calculations.
The 2-day course “Advanced MDX – Performance, Optimization, and the MDX Script” is a course for individuals who are already comfortable using MDX. One full day is spent on performance and optimization, half of a day is on learning to create calculation hierarchies in the MDX Script, and the other half day teaches advanced topics in functions and sets.
The courses are offered back-to-back. Individuals are encouraged to take either one or to attend both courses and learn the full range of MDX information.
If you are interested in an MDX course customized for your own company, please let me know. Also, I’m willing to teach in other parts of the world. If you have number of people interested in having an MDX course in your area, please let me know.
At ISI, in Sacramento, California:
13-14 May – MDX for Creating Business Logic http://www.isinc.com/catalog/1522/mdx_for_creating_business_logic.html
15-16 May – Advanced MDX – Performance, Optimization, and the MDX Script http://www.isinc.com/catalog/2014/advanced_mdx_performance_optimization_and_the_mdx_script.html
At Benchmark, in Minneapolis, Minnesota. Both on-site instruction and remote learning are available:
20-21 May – MDX for Creating Business Logic http://www.benchmarklearning.com/Courses/CrsDetail.aspx?C=SQMDXCBsnLogic
22-23 May – Advanced MDX – Performance, Optimization, and the MDX Script http://www.benchmarklearning.com/Courses/CrsDetail.aspx?C=SQAdvMDXPOS
At Glasspaper, in Oslo, Norway
17-18 June – MDX for Creating Business Logic http://www.glasspaper.no/kurs/2085.MasterClass-MDX-for-Creating-Business-Logic/
19-20 June – Advanced MDX – Performance, Optimization, and the MDX Script http://www.glasspaper.no/kurs/2086.MasterClass-Advanced-MDX-%E2%80%93-Performance,-Optimization,-and-the-MDX-Script/
And I am also scheduled to teach an Analysis Services 2012 course in Minneapolis:
10-13 June – SQL Server 2012 Analysis Services http://www.benchmarklearning.com/Courses/CrsDetail.aspx?C=SQSQLS2012AS
First Teaching of the Advanced MDX Course
I just finished teaching the Advanced MDX Course for the first time! After starting to write the course over a year ago, it was great to have it finally become a reality. We had an excellent group of five students. It was a very full two days going over all the material, discussing it with the students, and doing the labs. Two days was not long enough, but I hope it was two days that will be of benefit to each of the participants. Many thanks to Glasspaper in Oslo for hosting the course.
I think I will be teaching both the 2-day Business Logic for MDX course and the 2-day Advanced MDX course three times in the coming months, though the dates are not all set. But I expect I will be teaching the courses both in Minnesota and California in May, and then back in Oslo in June. I will post the dates on this blog as they get confirmed.
Advanced MDX at Glasspaper in Oslo 7-8 March 2013
Jeg vil bli lærer Advanced MDX på Glasspaper i Oslo. Velkommen! Klassen skal bli undervist på engelsk.
Advanced MDX Course – And Much More – in Sweden
I am pleased to announce that I will be teaching my SolidQ Advanced MDX course in Sweden on 4-5 March 2013. MDX allows you to unlock the power of your Analysis Services cubes. There are challenges in learning MDX (which is why you need to come to this course!) but the opportunities that you gain when knowing MDX are fantastic.
SolidQ has put together a very impressive set of courses in Stockholm in the coming months featuring Davide Mauri, Thomas Kejser, Itzik Ben-Gan, Mikael Wedham, Magi Naumova, Herbert Albert, and Dejan Sarka. Topics include Microsoft BI, Data Warehousing, Data Mining, and SQL Server Performance. See details at:
MDX for Business Logic and Advanced MDX Courses Now Scheduled in Oslo, 3-6 December 2012
I am pleased to announce that the first presentation of my two new SolidQ MDX classes will be at Glasspaper in Oslo, Norway:
3-4 December, 2012 – MDX for Business Logic
5-6 December, 2012 – Advanced MDX – Performance, Optimization, and the MDX Script
Please come and join us!
http://www.glasspaper.no/Kurs/2085.MasterClass-MDX-for-Creating-Business-Logic—with-Tim-Peterson/
This class will be taught in English. En dag vil jeg undervise på norsk, men jeg må studere mye først!
Time Calculation Hierarchies, MDX, and DAX
We are in the midst of change in the world of Microsoft Business intelligence. The familiar SQL Server Analysis Services multidimensional model has been supplemented with the new tabular model. Alongside of the multidimensional MDX language we have the tabular DAX language.
This past year I have heard several excellent presentations at conferences showing the benefits of the tabular model and DAX. But I’ve decided to continue my focus on the multidimensional model and MDX.
Why have I chosen to do that?
There are some things – a lot of things in fact – that you can do with the multidimensional model and MDX that you can’t do with the tabular model and DAX. One of the best things is the ability to create time calculation hierarchies.
It’s one thing to create time-based calculations. You can do that in both MDX and DAX. But you can’t create a time calculation hierarchy in the tabular model.
A time calculation hierarchy is a set of members where each member applies a calculation to the measures that are being displayed. With both MDX and DAX you can create calculations for Year-To-Date, Month-To-Date, and 6-Month Running Average to individual measures. But only in MDX can you create a hierarchy that has members for each of these calculations and can apply those calculations to any measure you want.
Here’s what it looks like when you have individual calculations. The Sales Trend is calculated from the past 3 years of Internet Sales. The Sales Goal is calculated from the Sales Trend. You can do this with MDX or DAX:
Here’s what you can do with a time calculation hierarchy. You have calculations built into the members and those calculations can be applied to any measure you choose. You can do this with MDX and the multidimensional model, but you can’t do this with the tabular model and DAX:
In the first example I had to create 8 calculations, but in the second example only 2 calculations. And those 2 calculations could be used for any number of measures.
I have written an entire module on time calculations in my new Advanced MDX course. I show you how to create different types of time calculation members:
Current Period Calculations
Relative Date Period Calculations
Period To Date and Rolling Average Calculations
Comparison, Ratio, and Forecasting Calculations
I also show how to create a second hierarchy for choosing the date that is to be used in the time calculation hierarchy. For one of my clients I have created 30 members in a Time Calculation hierarchy, each of which can be applied with any of 15 different dates in the Select Date hierarchy. So each of the 100 measures in the cube can be used with any of the combinations from the two hierarchies – for a combined total of 45,000 possible calculations (30 X 15 X 100). I’m sure glad I didn’t have to code tens of thousands of calculations separately!
The multidimensional model allows you to leverage date calculations because it’s truly multidimensional. You can apply calculations in members of a hierarchy. The tabular model does a lot of wonderful things – some of them better than the multidimensional model – but it’s limited because it’s tabular.
The tabular model lives half-way between the relational world and the multidimensional world. That’s its strength – but it’s also a weakness. SQL and the relational world may be familiar to database developers, but MDX and multidimensional cubes do a much better job modeling the real world of business. Business people think multidimensionally and hierarchically – and that’s what we do in the multidimensional world of MDX.
The Advanced MDX Course – Performance, Optimization, and the MDX Script
I have just completed writing SolidQ’s new 2-day Advanced MDX course.
There’s one module on Advanced Functions, which covers a whole variety of functions which are less commonly used – drilldown functions, statistical functions, etc.
There’s also a module on Advanced Sets, which covers the Generate function in detail as well as how to reference the hierarchies the user places on the axes.
I have two modules on using MDX scripting, with one of those modules covering date calculation hierarchies. This is one of my favorite topics. The ability to create date calculation hierarchies is a wonderful feature of Analysis Services cubes and most developers don’t come close to taking advantage of the possibilities it offers.
And finally I have 4 modules on MDX performance and optimization. One of those modules is on block computation. Another module covers subcubes and subselects. I wrote this Advanced MDX course using Analysis Services in SQL Server 2012. Almost all the information is relevant for SSAS 2008 and even SSAS 2005. But there are some performance surprises in SSAS2012 which haven’t been documented by Microsoft yet.
I am hoping to normally offer the new beginning SolidQ MDX course (MDX for Business Logic) together with the Advanced Course, so that students can come to either the 2-day Business Logic course by itself, the 2-day Advanced Course by itself, or attend all four days for a comprehensive understanding of MDX.

