Implementing the MDX dictionary
MDX expressions become complex easily. The syntax requires precise references to cube objects. Unique member names are long and tend to make expressions hard to follow. Members can appear in multiple hierarchies. All in all, it's a jungle for those not experienced with SSAS.
Additionally, MDX expressions can sometimes return a wrong value if the context is not established properly. It's easy to know something went wrong when they throw an error or return nulls, like in previous examples in this chapter. That's because the reporting dimension was not related to any measure group. But, when we reference a dimension, there is a small chance we are missing something related to forcing the proper context. It's normal.
It's a consequence of having a complex analytical system that can answer many questions relatively simply, using an expression instead of having to write a procedure, code, or report. It answers many queries and expressions...