Expresiones multidimensionales

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Las expresiones multidimensionales (MDX es el acrónimo de MultiDimensional eXpressions) es un lenguaje de consulta para bases de datos multidimensionales sobre cubos OLAP, se utiliza en Business Intelligence para generar reportes para la toma de decisiones basados en datos históricos, con la posibilidad de cambiar la estructura o rotación del cubo.

Introducción[editar]

Una consulta MDX es muy similar a una consulta SQL, nos devuelve un conjunto de celdas, que es resultado de tomar un subconjunto de las celdas del cubo original. Sin embargo, contiene diferentes funciones y al utilizar varias dimensiones puede volverse bastante compleja.

MDX utiliza en varias situaciones las jerarquías. Por ejemplo, si una dimensión se denomina región, esta puede contener países. Los países a su vez contienen provincias y las provincias ciudades. Para manejar estos componentes MDX tiene funciones como Children (hijos en inglés), cousin (primos) y parents (padres). En el ejemplo de la dimensión región, el país sería el padre, los hijos las provincias.

Un cliente OLAP puede manipular el cubo de distintas formas:

  • Rotarlo
  • Rebanarlo
  • Cortarlo en dados

Existen distintos proveedores de datos OLAP, por ejemplo, el de Microsoft es Analysis Services, el de Oracle, Business Intelligence Enterprise Edition.

Ejemplo[editar]

Consulta MDX Básica:

Sintaxis: SELECT <especificación de eje> on columns, <especificación de eje> on rows FROM <especificación de cubo> WHERE <especificación Slicer (rebanador)>

CREATE CUBE Sales 
(
DIMENSION Time TYPE TIME,
  HIERARCHY [Fiscal],
     LEVEL [Fiscal Year] TYPE YEAR,
     LEVEL [Fiscal Qtr] TYPE QUARTER,
     LEVEL [Fiscal Month] TYPE MONTH OPTIONS (SORTBYKEY, UNIQUE_KEY),
  HIERARCHY [Calendar],
     LEVEL [Calendar Year] TYPE YEAR,
     LEVEL [Calendar Month] TYPE MONTH,
DIMENSION Products,
     LEVEL [All Products] TYPE ALL,
     LEVEL Category,
     LEVEL [Sub Category],
     LEVEL [Product Name],
DIMENSION Geography,
     LEVEL [Whole World] TYPE ALL,
     LEVEL Region,
     LEVEL Country,
     LEVEL City,
MEASURE [Sales]
  FUNCTION SUM 
  FORMAT 'Currency',
MEASURE [Units Sold]
  FUNCTION SUM
  TYPE DBTYPE_UI4
)

Medidas de un cubo: A los datos existentes en cada celda del cubo, se los denomina medida.

Dimensiones: Ejes del cubo

Enlaces externos[editar]