Articulo de referencia

Expresiones multidimensionales

Expresiones Multidimensionales ( MDX ) es un lenguaje de consulta para el procesamiento analítico en línea (OLAP) que utiliza un sistema de gestión de bases de datos . Al igual ...

Expresiones Multidimensionales ( MDX ) es un lenguaje de consulta para el procesamiento analítico en línea (OLAP) que utiliza un sistema de gestión de bases de datos . Al igual que SQL , es un lenguaje de consulta para cubos OLAP . [ 1 ] También es un lenguaje de cálculo, con una sintaxis similar a las fórmulas de las hojas de cálculo.

Fondo

El lenguaje MultiDimensional eXpressions (MDX) proporciona una sintaxis especializada para consultar y manipular los datos multidimensionales almacenados en cubos OLAP . [ 1 ] Si bien es posible traducir algunas de estas expresiones a SQL tradicional, con frecuencia se requeriría la síntesis de expresiones SQL complejas incluso para expresiones MDX muy simples. MDX ha sido adoptado por la gran mayoría de los proveedores de OLAP y se ha convertido en el estándar para los sistemas OLAP.

Historia

MDX se introdujo por primera vez en 1997 como parte de la especificación OLE DB para OLAP de Microsoft . Fue inventado por un grupo de ingenieros de SQL Server, entre ellos Mosha Pasumansky . La especificación fue seguida rápidamente por el lanzamiento comercial de Microsoft OLAP Services 7.0 en 1998 y, posteriormente, por Microsoft Analysis Services . La última versión de la especificación OLE DB para OLAP fue publicada por Microsoft en 1999.

Aunque no se trataba de un estándar abierto, sino de una especificación propiedad de Microsoft, fue adoptada por una amplia gama de proveedores de OLAP.

La especificación XML para análisis hacía referencia a la especificación OLE DB para OLAP para obtener detalles sobre el lenguaje de consulta MDX. En Analysis Services 2005, Microsoft añadió algunas extensiones al lenguaje de consulta MDX, como las subconsultas. Productos como Microsoft Excel 2007 comenzaron a utilizar estas nuevas extensiones. Algunos se refieren a esta versión más reciente de MDX como MDX 2005.

mdXML

En 2001, el Consejo XMLA publicó el estándar XML para análisis (XMLA), que incluía mdXML como lenguaje de consulta. En la especificación XMLA 1.1, mdXML es esencialmente MDX envuelto en la <Statement>etiqueta XML.

Tipos de datos MDX

En MDX existen seis tipos de datos principales.

  • Escalar . Un escalar puede ser un número o una cadena . Puede especificarse como un literal, por ejemplo, el número 5 o la cadena "OLAP", o puede ser devuelto por una función MDX, por ejemplo, Aggregate(número), UniqueName(cadena), .Value(número o cadena), etc.
  • Dimensión / Jerarquía . Una dimensión es una dimensión de un cubo . Una dimensión es el organizador principal de la información de medidas y atributos en un cubo. MDX no conoce ni asume ninguna dependencia entre dimensiones; se asume que son mutuamente independientes. Una dimensión contendrá algunos miembros (ver más abajo) organizados en una o varias jerarquías con niveles. Se puede especificar por su nombre único, por ejemplo, [Time]o puede ser devuelta por una función MDX, por ejemplo .Dimension. Una jerarquía es una jerarquía de dimensiones de un cubo . Se puede especificar por su nombre único, por ejemplo , o puede ser devuelta por una función MDX, por ejemplo . Las jerarquías están contenidas dentro de las dimensiones. ( La especificación OLEDB para OLAP MDX no distingue entre los tipos de datos de dimensión y jerarquía. Algunas implementaciones, como Microsoft Analysis Services, los tratan de manera diferente ) .[Time].[Fiscal].Hierarchy
  • Nivel . Nivel es un nivel en una jerarquía de dimensiones. Se puede especificar por su nombre único, por ejemplo, [Time].[Fiscal].[Month]o puede ser devuelto por una función MDX, por ejemplo .Level.
  • Miembro . Un miembro es un miembro en una jerarquía de dimensiones. Se puede especificar por su nombre único, p. ej [Time].[Fiscal].[Month].[August 2006]., por nombre calificado, p. ej. [Time].[Fiscal].[2006].[Q3].[August 2006], o devuelto por una función MDX, p. ej .PrevMember., .Parent, .FirstChildetc. Tenga en cuenta que todos los miembros son específicos de una jerarquía. Si el mismo producto es miembro de dos jerarquías diferentes ( [Product].[ByManufacturer]y [Product].[ByCategory]), habrá dos miembros diferentes visibles que podrían necesitar ser coordinados en conjuntos y tuplas (ver más abajo).
  • Tupla . Una tupla es una colección ordenada de uno o más miembros de diferentes dimensiones. Las tuplas se pueden especificar enumerando los miembros, por ejemplo ([Time].[Fiscal].[Month].[August], [Customer].[By Geography].[All Customers].[USA], [Measures].[Sales]), o devueltas por una función MDX, por ejemplo .Item.
  • Conjunto . Un conjunto es una colección ordenada de tuplas con la misma dimensionalidad, o jerarquía en el caso de la implementación de Microsoft. Se puede especificar enumerando las tuplas, por ejemplo, {([Measures].[Sales], [Time].[Fiscal].[2006]), ([Measures].[Sales], [Time].[Fiscal].[2007])}o devolver mediante una función u operador MDX, por ejemplo Crossjoin, , Filter, Order, Descendantsetc.
  • Otros tipos de datos. Las propiedades de los miembros son equivalentes a los atributos en el sentido del almacén de datos. Se pueden recuperar por nombre en una consulta a través de una cláusula PROPERTIES de un eje de una consulta. Se puede acceder al valor de datos escalar de una propiedad de miembro para algún miembro en una expresión a través de MDX, ya sea nombrando la propiedad (por ejemplo, [Product].CurrentMember.[Sales Price]) o utilizando una función de acceso especial (por ejemplo, [Product].CurrentMember.Properties("Sales Price")). En contextos limitados, MDX también permite otros tipos de datos; por ejemplo, se puede usar ArraySetToArray dentro de la función para especificar una matriz que no es procesada por MDX sino que se pasa a una función definida por el usuario en una biblioteca ActiveX. Los objetos de otros tipos de datos se representan como cadenas escalares que indican los nombres de los objetos, como el nombre del grupo de medidas en MeasureGroupMeasuresla función de Microsoft o el nombre del KPI en, por ejemplo, las funciones de Microsoft KPIValueo .KPIGoal

Ejemplo de consulta

El siguiente ejemplo, adaptado de la documentación en línea de SQL Server 2000, muestra una consulta MDX básica que utiliza la instrucción SELECT. Esta consulta devuelve un conjunto de resultados que contiene los importes de ventas de las tiendas en el estado de California correspondientes a los años 2002 y 2003.

SELECCIONAR{ [ Medidas ] . [ Ventas de la tienda ] } EN COLUMNAS ,{ [ Fecha ] . [ 2002 ] , [ Fecha ] . [ 2003 ] } EN FILASDE VentasDÓNDE ( [ Tienda ] . [ EE. UU. ] . [ CA ] )

En este ejemplo, la consulta define la siguiente información del conjunto de resultados.

  • La cláusula SELECT establece los ejes de la consulta como el miembro Ventas de la tienda de la dimensión Medidas, y los miembros 2002 y 2003 de la dimensión Fecha.
  • La cláusula FROM indica que la fuente de datos es el cubo de Ventas.
  • La cláusula WHERE define el "eje de segmentación" como el miembro California de la dimensión Store.

Nota: En una consulta MDX se pueden especificar hasta 128 ejes de consulta.

Si crea dos ejes, uno debe ser el eje de columnas y el otro el eje de filas, aunque el orden en que aparezcan en la consulta no importa. Si crea una consulta con un solo eje, este debe ser el eje de columnas. Los corchetes que rodean el identificador del objeto son opcionales, siempre que dicho identificador no sea una palabra reservada ni contenga caracteres distintos de letras, números o guiones bajos.

SELECCIONAR[ Medidas ] . [ Ventas de la tienda ] EN COLUMNAS ,[ Fecha ] . Miembros EN FILASDE VentasDÓNDE ( [ Tienda ] . [ EE. UU. ] . [ CA ] )

Referencias

  1. 1 2 Carl Nolan. "Manipular y consultar datos OLAP usando ADOMD y expresiones multidimensionales" . Microsoft . Recuperado el 5 de marzo de 2008 .

Lecturas adicionales

  • George Spofford, Sivakumar Harinath, Chris Webb, Dylan Hai Huang, Francesco Civardi: MDX-Solutions: With Microsoft SQL Server Analysis Services 2005 and Hyperion Essbase . Wiley, 2006, ISBN 0-471-74808-0
  • Mosha Pasumansky , Mark Whitehorn, Rob Zare: Vía rápida hacia MDX . ISBN 1-84628-174-1
  • Larry Sackett: Informes y análisis MDX con SAP NetWeaver BW . SAP Press, 2008, 978-1-59229-249-3
  • Referencia de expresiones multidimensionales (MDX) , de Microsoft Docs
Obtenido de " https://en.wikipedia.org/w/index.php?title=MultiDimensional_eXpressions&oldid=1323535847 "