Análisis y gestión de datos con MDX

MDX (expresiones multidimensionales) es un lenguaje de consulta y manipulación de datos de gran eficacia.

Con MDX, puede realizar las siguientes acciones:

  • Realizar consultas e informes a partir de los datos y metadatos de los cubos de Essbase.

  • Insertar datos en un cubo de Essbase.

  • Exportar datos de un cubo de Essbase.

Una consulta MDX es una sentencia MDX única que tiene exactamente un juego de resultados, el cual se aplica a un solo cubo.

Un informe MDX es una consulta MDX única, que se guarda en el contexto del cubo. Se puede acceder a los informes MDX en Smart View y en la interfaz web de Essbase.

Un script MDX es un archivo con una extensión .mdx que se puede cargar y ejecutar desde Trabajos o en Smart View. En los scripts MDX solo deben usarse las sentencias MDX de inserción y exportación. Para analizar datos de cuadrícula, se recomienda utilizar informes MDX en lugar de scripts MDX.

Temas:

Análisis de datos con informes MDX

Puede almacenar y representar consultas en la interfaz web deEssbase mediante informes de MDX. El permiso mínimo necesario para crear un informe es Gestor de base de datos.

La definición de diseños mediante el separador Análisis ad hoc no siempre es la forma más eficaz de crear un informe sofisticado. Si sabe con exactitud lo que desea consultar, puede utilizar MDX para crear una consulta y rellenar la cuadrícula.

Para crear un informe de MDX:
  1. Conéctese a la interfaz web de Essbase con el rol de Gestor de base de datos o un rol superior.
  2. Navegue a Analizar datos:
    • En la interfaz de Redwood, abra la aplicación, abra la base de datos (cubo) y haga clic en Analizar datos.
    • En la interfaz web clásica, expanda la aplicación, seleccione un cubo, haga clic en el menú Acciones situado a la derecha del nombre de cubo y seleccione Analizar datos.
  3. En la vista Analizar, seleccione el separador Informes y, a continuación, haga clic en Crear.
  4. Introduzca un nombre para el informe y, si lo desea, una descripción.
  5. En el campo Consulta, introduzca una consulta MDX relevante para el cubo actual. Por ejemplo:
    SELECT
      {([West].children)}
    ON COLUMNS,
      {([Diet].children)}
    ON ROWS
    

    La consulta debe contener especificaciones para ejes de fila y columna. Es decir, la sintaxis de consulta debe incluir especificaciones para ON COLUMNS y para ON ROWS, incluso si se especifica un juego vacío {} para un eje.

    Dado que el contexto de Datos de análisis es el cubo activo, le recomendamos que omita la especificación de cubo opcional (la cláusula FROM) en los informes de MDX. La omisión de la cláusula FROM le ofrece más flexibilidad, ya que si copia o cambia el nombre del cubo, el informe seguirá funcionando en el nuevo cubo.

    Las variables de sustitución están soportadas en los informes de MDX, pero no las variables de sustitución de tiempo de ejecución. Para utilizar variables de sustitución de tiempo de ejecución, guarde la consulta de MDX como un script y ejecútela desde Smart View mediante Calcular en la cinta de Essbase.

  6. Haga clic en Validar para verificar su sintaxis de MDX y, a continuación, haga clic en Guardar.
  7. En el panel Informes situado a la izquierda, seleccione el informe guardado para representar una cuadrícula.

Para obtener más información sobre MDX, consulte MDX y Escritura de consultas de MDX.

Acceso a informes de MDX

La forma en la que puede trabajar con los informes depende de su tipo de acceso al cubo.

Los usuarios que tienen, al menos, el rol de nivel de aplicación Acceso a base de datos pueden representar los informes de MDX guardados creados por otros usuarios. Los datos que puede ver un usuario en el informe dependen del acceso filtrado de dicho usuario.

Además de representar los informes guardados, los usuarios con Acceso a base de datos pueden exportar los juegos de resultados en varios formatos: HTML, CSV, Excel y JSON.

Los usuarios con Acceso a base de datos también pueden ver la consulta de MDX que define el informe. Para ello, deben hacer clic en el menú Acciones situado junto al nombre del informe y seleccionar Ver.

Si tiene, al menos, el rol Gestor de bases de datos, puede utilizar los informes de la misma forma que pueden hacerlo los usuarios con Acceso a base de datos. Además, puede editar y suprimir los informes mediante el menú Acciones.

Si es un administrador de servicio, también puede utilizar el botón Ejecutar como para suplantar a otros usuarios y comprobar su acceso a los datos. Esto puede resultar útil para probar los filtros asignados a varios usuarios.

Ejemplos de informes de MDX

Los ejemplos de MDX de esta sección muestran tipos especiales de análisis que puede llevar a cabo, mediante informes de MDX, y que no se realizan fácilmente en la vista Análisis ad hoc.

Los siguientes ejemplos están diseñados para funcionar en el cubo básico de ejemplo.

Informe de metadatos

El siguiente ejemplo solo devuelve metadatos (nombres de miembro, pero no datos):

SELECT 
  {[Product].Levels(1).Members} 
ON ROWS, 
  {} 
ON COLUMNS

Y devuelve la cuadrícula:

La salida del informe muestra los miembros de producto 100, 200, 300, 400 y Diet.

Informe de atributos

El siguiente ejemplo usa, en las columnas, miembros de una dimensión de atributos:

SELECT 
 [Product].Children 
ON ROWS, 
 [Ounces].Children 
ON COLUMNS 
WHERE {Sales}

Y devuelve la cuadrícula:

La salida del informe muestra, dispuestos en filas, los miembros de producto 100, 200, 300, 400 y Diet. En la columnas, se muestran los miembros de atributo: Ounces_32, Ounces_20, Ounces_16 y Ounces_12.

Informe filtrado

En el siguiente ejemplo, se usa un divisor (cláusula WHERE) para limitar la consulta a Cola. La función de filtro también limita los marcadores de nivel cero de la consulta a aquellos que tienen ganancias negativas.

SELECT
  { Profit } 
ON COLUMNS,
  Filter( [Market].levels(0).members, Profit < 0) 
ON ROWS
WHERE {Cola}

Y devuelve la cuadrícula:

La salida del informe muestra, en las filas, los miembros de mercado Oregon, Utah, Nevada, Oklahoma, Louisiana, Ohio, Wisconsin, Missouri y Iowa. En las columnas, se muestran las ganancias. Los valores de datos son todos negativos.

Informe ADU

En el siguiente ejemplo, se muestran datos de producto de miembros de la dimensión de mercado que tienen un atributo definido por el usuario (ADU) de "Major Market". El divisor (cláusula WHERE) limita la consulta para incluir solo datos de venta.

SELECT 
  [Product].Children 
ON ROWS, 
  {Intersect(UDA([Market], "Major Market"), [Market].Children)} 
ON COLUMNS 
WHERE {Sales}

Y devuelve la cuadrícula:

La salida del informe muestra, dispuestos en filas, los miembros de producto 100, 200, 300, 400 y Diet. En las columnas, se muestran los mercados principales East y Central.

Inserción y exportación de datos con MDX

Además de resultar de utilidad para el análisis basado en cuadrícula, MDX también le permite copiar y actualizar subjuegos de datos multidimensionales.

La cláusula de inserción de MDX le permite actualizar el cubo con datos utilizando un miembro calculado (no físico) que usted defina mediante MDX.

La cláusula de exportación de MDX le permite guardar y exportar los resultados de la consulta como subjuegos de datos que puede ver o importar más tarde.

Las sentencias de inserción y exportación de MDX se pueden ejecutar como scripts MDX guardados.

Para obtener más información sobre la inserción y exportación de MDX, consulte Especificación de inserción de MDX y Especificación de exportación de MDX.

Ejecución de scripts MDX

Utilice los scripts MDX cuando necesite ejecutar operaciones de inserción o exportación de datos.

Para el análisis de los datos de la cuadrícula, utilice los informes de MDX. Consulte Análisis de datos con informes MDX.

Para utilizar scripts MDX, seleccione un flujo de trabajo:

Escritura, carga y ejecución de un script MDX

Utilice este flujo de trabajo para escribir scripts MDX en un editor de texto y cargarlos en Essbase.

  1. Escriba el script MDX en un editor de texto y guárdelo con una extensión .mdx.

  2. Cargue el script MDX en el directorio de la aplicación o de cubo en Archivos, en la interfaz web de Essbase.

  3. Ejecute el script MDX desde Trabajos o desde Smart View mediante Calcular en la cinta de Essbase.

Escritura de un script MDX en el editor de scripts y ejecución del mismo

Utilice este flujo de trabajo para escribir scripts MDX en un editor de scripts en el cubo y ejecútelos en Trabajos.

  1. En la página Aplicaciones, abra la aplicación y abra la base de datos (cubo).

  2. Haga clic en Scripts y en Scripts MDX.

  3. Haga clic en Crear, introduzca un nombre para el script y haga clic en Aceptar.

  4. Escriba el script MDX. Un árbol de miembros y una lista de funciones pueden resultarle útiles.

  5. Valide y guarde el script y, a continuación, cierre el editor de scripts.

  6. Ejecute el script MDX desde Trabajos (consulte Ejecutar MDX) o bien, si utiliza Smart View, mediante Calcular en la cinta de Essbase.

  1. En la página Aplicaciones, amplíe una aplicación y un cubo.

  2. En el menú Acciones del cubo, haga clic en Inspeccionar.

  3. Haga clic en Scripts y, a continuación, en Scripts MDX.

  4. Haga clic en + para abrir un editor de scripts.

  5. Escriba el script MDX. Un árbol de miembros y una lista de funciones pueden resultarle útiles.

  6. Valide y guarde el script y, a continuación, cierre el editor de scripts.

  7. Ejecute el script MDX desde Trabajos (consulte Ejecutar MDX) o bien, si utiliza Smart View, mediante Calcular en la cinta de Essbase.

Creación de un script MDX en el diseñador de cubos y su ejecución

Utilice este flujo de trabajo para crear scripts MDX mediante un libro de trabajo de aplicación y ejecútelos en Trabajos.

  1. En un libro de trabajo de aplicación, cree una hoja de trabajo MDX. Consulte Trabajar con hojas de trabajo MDX en el diseñador de cubos.
  2. Agregue un nombre de archivo en el campo Nombre de archivo.
  3. En el campo Ejecutar MDX, indique si desea ejecutar el MDX al crear el cubo. Las entradas válidas son y No.
  4. Agregue el script MDX debajo de la línea Script.
  5. Guarde el libro de trabajo de aplicación.
  6. Cree el cubo. Consulte Creación de aplicaciones y cubos en el diseñador de cubos.
  7. Ejecute el script MDX desde Trabajos o bien, si utiliza Smart View, mediante Calcular en la cinta de Essbase.

Directrices para scripts MDX

Utilice las directrices siguientes al trabajar con scripts MDX.

  • Utilice los scripts de MDX para realizar operaciones de datos de inserción o exportación.

  • Para los análisis de cuadrícula, utilice los informes de MDX en lugar de los scripts MDX.

  • Los scripts MDX pueden incluir de manera opcional variables de sustitución de tiempo de ejecución.

    • Para que se puedan utilizar en Smart View, los scripts MDX con variables de sustitución de tiempo de ejecución deben utilizar la sintaxis XML dentro del comando de cálculo SET RUNTIMESUBVARS, incluyendo <RTSV_HINT>.

    • Si desea definir una variable de sustitución de tiempo de ejecución para que calcule solo la porción visible de datos en Smart View, defina el valor de la variable de sustitución de tiempo de ejecución en PDV, y el tipo de dato en miembro.

    • Si se ejecutan desde la interfaz web de Essbase, los scripts MDX pueden utilizar variables de sustitución, pero no variables de sustitución de tiempo de ejecución. Para utilizar variables de sustitución de tiempo de ejecución en scripts MDX, debe ejecutar los scripts desde Smart View, mediante Calcular en la cinta de Essbase.

Uso de variables de sustitución

Ejemplos de scripts MDX

A continuación se muestran ejemplos de scripts MDX que puede ejecutar en el cubo Sample Basic, ya sea desde Trabajos o en Smart View.

Inserción de MDX

Puede guardar este script .mdx y ejecutarlo desde Trabajos o desde el cuadro de diálogo Calcular en Smart View.

INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])"
INTO [Sample].[Basic]
FROM (
       SELECT 
            {[Measures].[Payroll]} ON COLUMNS,
                {Crossjoin
                  (Crossjoin(Descendants([Year]), 
                   Crossjoin(Descendants([Scenario]),
                  Descendants([Product]))),
                  Descendants([Market]))} ON ROWS
       FROM [Sample].[Basic]
);

En el ejemplo anterior se asume que ha agregado previamente una medida Revised_Payroll en Sample Basic.

Exportación de MDX

Puede guardar este script .mdx y ejecutarlo desde Trabajos o desde el cuadro de diálogo Calcular en Smart View.

EXPORT INTO FILE "sample01" OVERWRITE
SELECT 
 {[Mar],[Apr]} 
ON COLUMNS,
 Crossjoin({[New York]},
  Crossjoin({[Actual],[Budget]},
     {[Opening Inventory],[Ending Inventory]})) 
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])

Después de ejecutar el script, el siguiente archivo de exportación (sample01.txt) se guarda en el directorio de cubo del catálogo de archivos:

Market,Scenario,Measures,Mar,Apr
New York,Actual,Opening Inventory,2041,2108
New York,Actual,Ending Inventory,2108,2250
New York,Budget,Opening Inventory,1980,2040
New York,Budget,Ending Inventory,2040,2170

Exportación de MDX mediante una variable de sustitución de tiempo de ejecución

Puede guardar este script .mdx y ejecutarlo desde el cuadro de diálogo Calcular en Smart View.

SET RUNTIMESUBVARS
{
 States = "Massachusetts"<RTSV_HINT><svLaunch>
                    <description>US States</description>
                    <type>member</type>
                    <allowMissing>false</allowMissing>
                    <dimension>Market</dimension>
                    <choice>multiple</choice>
                    </svLaunch></RTSV_HINT>;
};
EXPORT INTO FILE "sample002" OVERWRITE
SELECT
 {[Mar],[Apr]}
ON COLUMNS,
 Crossjoin({&States}, Crossjoin({[Actual],[Budget]},
 {[Opening Inventory],[Ending Inventory]}))
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])

Después de ejecutar el script, el siguiente archivo de exportación (sample002.txt) se guarda en el directorio de cubo del catálogo de archivos:

Market,Scenario,Measures,Mar,Apr
Massachusetts,Actual,Opening Inventory,-54,-348
Massachusetts,Actual,Ending Inventory,-348,-663
Massachusetts,Budget,Opening Inventory,-160,-520
Massachusetts,Budget,Ending Inventory,-520,-910