MDX

MDX is short for Multidimensional Expressions, which is a syntax developed for defining multidimensional objects and querying and manipulating multidimensional data in OLAP databases. The purpose of MDX is to make creating queries to access data from multiple dimensional databases easier and more intuitive.

MDX is a query language designed for OLAP databases, as SQL is a query language for relational databases.

MDX is essentially an extension to SQL used for queries and script access to multidimensional data. MDX queries access data stored in a SQL Server Analysis Server cube by bringing back facts related to dimensions. Querying multidimensional data sources can be a complex task, and a well-thought out syntax makes the job much easier.

In order to identify and extract  data from a single cell or a block of cell in a cubes, MDX uses a reference system called tuples. Tuples identify individual cells as well as larger groupings of cells in the cube by reference to dimensions and members. According to Microsoft SQL Server TechNet, tuples are capable of identifying every cell in the cube as each cell is an intersection of all the dimensions of the cube.

An MDX expression is designed to produce a multi-dimensional result set comprising axis data and cell data.

Microsoft SQL Server TechNet also points out MDX offers extensibility in the form of user-defined functions using any programming language that can support Component Object Model (COM) interfaces.

In using MDX, you write data definition statements such as CREATE GLOBAL CUBE, ALTER CUBE, DROP MEMBER in order to create, drop, and manipulate multidimensional objects in an OLAP database.

MDX was first developed by Panorama/Microsoft in the late 1990s, eventually morphing into a non-proprietary standard commonly used today by numerous other vendors of multidimensional databases.