MDX is exceedingly hard to grasp

I predict that understanding MDX will pose grave difficulty for non-English speakers because language is inadequate to describe MDX concepts.  Many a time, you just read what it says about a concept over and over again, still you can’t figure out what it’s trying to say.  The best way to teach MDX is through ample illustration.

Given this explanation:

The following example returns the set of members from the beginning of the Quarter level in the Time dimension, from the ancestor of Time.CurrentMember , through Time.CurrentMember:

Qtd()

What is the "beginning of the Quater level in the Time dimension"?  What is the writer talking about?  "from the ancestor of Time.CurrentMember"?  What the heck! And "through Time.CurrentMember".  I am going to cry and my stomach is like thousands of stupid snakes churning.  Perhaps I am stupid beyond God’s save. 

Let look at it this way and try hard to explain it more clearly.

Q1->month 1, month 2, month3
(Q1 is ancestor of month 1, month 2, month 3)
Q2->month 3, month 4, month 5
(Q2 is ancestor of month 3, month 4, month 5)

What I understand is that, it’s beginning from the ancestor level’s first child of Time.CurrentMember and "going through the members at the Time.CurrentMember" level to the Time.CurrentMember.

Following example:

WITH 
MEMBER [Measures].[QTD Salaries] AS
'Sum(QTD(),[Org Salary])'
SELECT
{[Measures].[Org Salary] , [Measures].[QTD Salaries]} ON COLUMNS,
[Time].[Month].Members ON ROWS
FROM HR

if I am at month 2 (Time.CurrentMember),  the QTD() starts from month 2’s "ancestor level’s" first child member (month 1) ;  "ancestor level" of month 2 is Q1.

If I am at month 5 (now it’s the Time.CurrentMember), the QTD() starts from month 5’s "ancestor level’s" first child member (month 4) ;  "ancestor member" of month 5 is Q2.

Now I understand it.  It could have been explained more clearly.

This entry was posted in Uncategorized. Bookmark the permalink.

1 Response to MDX is exceedingly hard to grasp

  1. Sam Kane says:

    Here are this and some other articles about MDX:

    http://ssas-wiki.com/w/Articles#About_MDX

Leave a comment