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.
Análisis de datos con informes MDX
Puede almacenar y representar consultas en la interfaz Web de Essbase 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 obtener más información sobre MDX, consulte MDX y Escritura de consultas MDX.
Acceso a informes de MDX
La forma de trabajar con informes MDX de Essbase depende de su acceso a 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 de 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 del MDX de esta sección muestran tipos especiales de análisis que puede llevar al cabo, mediante informes del MDX. Guarde los informes MDX en la vista Analizar de la interfaz web de Essbase, en el separador Informes.
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:

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:

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:

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:

Inserción y exportación de datos con MDX
Además de resultar de utilidad para el análisis basado en cuadrícula de Essbase, 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.
-
Escriba el script MDX en un editor de texto y guárdelos con una extensión
.mdx. -
Cargue el script MDX en el directorio de la aplicación o de cubo en Archivos, en la interfaz web de Essbase.
-
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.
-
En la página de inicio, abra la aplicación y la base de datos (cubo).
-
Haga clic en Scripts y haga clic en Scripts MDX.
-
Haga clic en Crear, introduzca un nombre para el script y haga clic en Aceptar.
-
Escriba el script MDX. Un árbol de miembros y una lista de funciones pueden resultarle útiles.
-
Valide y guarde el script y, a continuación, cierre el editor de scripts.
-
Ejecute el script MDX desde Trabajos (consulte Ejecución de MDX) o bien si utiliza Smart View, mediante Calcular en la cinta 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.
- En un libro de trabajo de aplicación, cree una hoja de trabajo MDX. Consulte Trabajo con Hojas de Trabajo MDX en el diseñador de cubos.
- Agregue un nombre de archivo en el campo Nombre de archivo.
- En el campo Ejecutar MDX, indique si desea ejecutar el MDX al crear el cubo. Las entradas válidas son Sí y No.
- Agregue el script MDX debajo de la línea Script.
- Guarde el libro de trabajo de aplicación.
- Cree el cubo. Consulte Crear una aplicación y un cubo en el diseñador de cubos.
- Ejecute el script MDX desde Trabajos, o bien si utiliza Smart View, mediante Calcular en la cinta de Essbase.
Directrices para scripts MDX
Utilice los scripts de MDX para realizar operaciones de datos de inserción o exportación. Para el análisis de cuadrícula en la interfaz web de Essbase, utilice informes MDX en lugar de scripts MDX. Los scripts MDX pueden incluir, opcionalmente, variables de sustitución de tiempo de ejecución y puede ejecutarlas desde Smart View.
Para que se puedan usar en Smart View, los scripts MDX con variables de sustitución de tiempo, deben utilizar la sintaxis XML dentro del comando del cálculo SET RUNTIMESUBVARS, incluyendo <RTSV_HINT>.
Si se desea definir una variable para que calcule solo la porción visible de datos en Smart View, defina el valor de la variable en PDV y el tipo de dato en el 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.
Ejemplos de scripts MDX
A continuación se muestran ejemplos de scripts de inserción y exportación de MDX que se pueden ejecutar en el cubo Básico de ejemplo, desde Trabajos en la interfaz web de Essbase o desde la operación Calcular de Smart View.
Inserción de MDX
Puede guardar este script .mdx y ejecutarlo desde Trabajos o desde el recuadro 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 recuadro 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, sample01.txt, se guarda en el directorio de cubo del catálogo del archivo:
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,2170Exportación de MDX mediante una variable de sustitución de tiempo de ejecución
Puede guardar este script .mdx y ejecutarlo desde el cuadro en 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, sample002.txt, se guarda en el directorio de cubo del catálogo del archivo:
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