MultiDimensional eXpressions – MDX
Multidimensional Expressions is a query language for OLAP databases and acts much as SQL does for relational databases. In addition it is a calculation language, with syntax similar to spreadsheet formulas. The ability to use Multidimensional Expressions to get information from and put information into your OLAP database drives the performance of businesses around the world.
MDX started as a Microsoft product but it's everywhere now
MultiDimensional eXpressions – MDX Services
Scalar is either a number or a string. It can be specified as a literal or it can be returned by an MDX function.
Numeric or text
Dimension is a dimension of a cube. It is a primary organizer of measure and attribute information in a cube. MDX does not know of or assume dependencies between dimensions. The are assumed to be mutually independent. A dimension will contain some members organized in some hierarchy or hierarchies containing levels. It can be specified by its unique name or it can be returned by an MDX function. Hierarchy is a dimension hierarchy of a cube. It can be specified by its unique name or it can be returned by an MDX function.
OLEDB for OLAP MDX specification does not distinguish between dimension and hierarchy data types.
Level is a level in a dimension hierarchy. It can be specified by its unique name or it can be returned by an MDX function.
Within a hierarchy there are levels
Member is a member in a dimension hierarchy. It can be specified by its unique name, by qualified name, or returned by an MDX function. If the self-same product is a member of two different hierarchies there will be two different members visible that may need to be coordinated in sets and tuples.
Note that all members are specific to a hierarchy.
Tuple is an ordered collection of one or more members from different dimensions. Tuples can be specified by enumerating the members or returned by an MDX function.
Ordered collections are extremely useful
Set is an ordered collection of tuples with the same dimensionality, or hierarchality in the case of Microsoft's implementation. Specified by enumerating the tuples or returned by MDX function or operator.
Collections of Tuples via operator or function
The MDX Language
The Multidimensional Expressions language provides a specialized syntax for querying and manipulating the multidimensional data stored in OLAP cubes. SQL could possibly do the work but it would require far more effort and a clumsier environment. With Multidimensional Expressions, it’s relatively simple.
Keep it simple, use MDX
Multidimensional Expressions has been embraced by a wide majority of OLAP vendors and has become the standard for OLAP systems.