Laboratorio3 Bi

También podría gustarte

Está en la página 1de 6

Universidad de los Andes

Departamento de Ingeniería de Sistemas y Computación


Laboratorio de Inteligencia de Negocios - 2010
Laboratorio 3 Consultas MDX

Laboratorio 3 Consultas MDX

Objetivos

 Trabajar con una base de datos dimensional.


 Familiarizarse con los conceptos básicos de MDX.

Actividades

 Exploración del entorno de trabajo Microsoft SQL Server Management Studio.


 Identificación de los componentes básicos de un cubo de Analysis Services.
 Familiarización con los elementos principales de una consulta MDX.
 Solución de consultas usando MDX.

Presentación de SQL Server Management Studio

SQL Server Management Studio (SSMS) es una herramienta gráfica para la administración de
instancias de SQL Server. Para efectos de este taller, SSMS se utilizará para enviar consultas
MDX al motor de Analysis Services (MSSAS).

Instrucciones para ejecutar SSMS:

1. Inicie la máquina virtual del curso.


2. Para ingresar la contraseña de la máquina, oprima CTRL + ALT + INSERT y digite:
BI2010un1andes.
3. Diríjase a Inicio>Todos los programas y en el campo de búsqueda escriba: “SQL Server
Management”. Ejecute dicha aplicación.
4. En el diálogo de conexión elija cómo tipo de servidor: Analysis Services y oprima el
botón “Conectar”.
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Laboratorio de Inteligencia de Negocios - 2010
Laboratorio 3 Consultas MDX

5. Expanda el nodo Bases de datos, realice clic derecho sobre la base de datos llamada
MDX Step-by-Step y elija la opción Nueva Consulta > MDX.

Estructura de los cubos publicados en Analysis Services (MSSAS)

6. Identifique los cubos que se encuentran desplegados en la base de datos a la que se


acaba de conectar.
7. Identifique los componentes de cada cubo en la pestaña “Metadatos”. (¿Qué medidas
tienen?, ¿Cuáles son sus dimensiones?)
8. Identifique las funciones disponibles en la pestaña “Funciones”.

Elementos Principales de una Consulta MDX

Las consultas MDX en SSMS se pueden completar arrastrando los elementos


mostrados en la pestaña metadatos hasta el editor de consultas. A continuación se
muestra un conjunto de consultas de ejemplo que le ayudaran a entender la estructura
básica de MDX.

Consulta sobre un cubo

Copie y pegue en el editor la siguiente consulta.

SELECT
FROM [Chapter 3 Cube]

¿Cuál es el resultado?
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Laboratorio de Inteligencia de Negocios - 2010
Laboratorio 3 Consultas MDX

Cuando no se establecen una o más dimensiones (ejes), MSSAS escoge una por defecto para
resolver la consulta. En este caso MSSAS, ha inferido la tupla (coordenadas) necesaria para
acceder a una celda del cubo. Las dimensiones (ejes) son [Measures].[Reseller Sales
Amount], [Date].[Calendar Year],[Date].[Fiscal Year],[Date].[Calendar-
To-Fiscal Year],[Product].[Category] y[Product].[Subcategory]

Seleccionando una celda

Modifique la consulta anterior, agregue una tupla en la definición de la cláusula WHERE.

SELECT
FROM [Chapter 3 Cube]
WHERE (
[Date].[Calendar Year].[All Periods],
[Date].[Fiscal Year].[All Periods],
[Product].[Category].[Bikes],
[Product].[Subcategory].[Mountain Bikes],
[Measures].[Measures].[Reseller Sales Amount]
)

¿Cuál es el resultado?

Tuplas Parciales

Omita la información de la medida (Reseller Sales Amount) y ejecute la siguiente consulta:

SELECT
FROM [Chapter 3 Cube]
WHERE (
[Date].[Calendar Year].[All Periods],
[Date].[Fiscal Year].[All Periods],
[Product].[Category].[Bikes],
[Product].[Subcategory].[Mountain Bikes]
)

//Orden de inferencia: Default, all, primer miembro

¿Qué ha cambiado en los resultados para esta consulta?

Acceso por llaves

Arrastre a la sección del WHERE en el editor de consultas, el miembro de la dimensión Fecha,


la jerarquía Año Calendario, para el año 2004. (Ver imagen).
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Laboratorio de Inteligencia de Negocios - 2010
Laboratorio 3 Consultas MDX

La consulta resultante se ve a continuación.

SELECT
FROM [Step-by-Step]
WHERE [Date].[Calendar Year].&[2004]

El operador “&”, permite acceder directamente a un miembro por su llave. Este mecanismo es
usado cuando se puede dar lugar ambigüedades en la definición de miembros dentro de las
jerarquías.

Especificación de Columnas y Filas (Función Members)

Por medio de las cláusulas ON COLUMNS y ON ROWS se puede especificar el contenido de las
columnas y filas de las tabla de resultados. La función MEMBERS permite seleccionar todos los
miembros de la jerarquía seleccionada (incluído el miembro All).

Ejecute la siguiente consulta:

SELECT [Measures].[Reseller Sales Amount] ON COLUMNS,


[Product].[Category].MEMBERS ON ROWS
FROM [Step-by-Step]
WHERE [Date].[Calendar Year].&[2004]

Identifique las filas resultantes, ubíquelas en la jerarquía Producto desde la pestaña de


Metadatos.

Trabajando con conjuntos de tuplas (Sets)

En la sección del SELECT de la consulta también se puede definir conjuntos. Esto se logra
agrupando las tuplas con llaves “{ }”.
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Laboratorio de Inteligencia de Negocios - 2010
Laboratorio 3 Consultas MDX

Ejecute la siguiente consulta:

SELECT
{
([Date].[Calendar].[CY 2002], [Geography].[Country].[United States]),
([Date].[Calendar].[CY 2003], [Geography].[Country].[United States]),
([Date].[Calendar].[CY 2004], [Geography].[Country].[United States])
} ON COLUMNS,
{
([Product].[Category].[Accessories]),
([Product].[Category].[Bikes]),
([Product].[Category].[Clothing]),
([Product].[Category].[Components])
} ON ROWS
FROM [Step-by-Step]

¿Cómo se muestra la tabla de resultados?

Para seleccionar un conjunto válido, sus tuplas deben pertenecer a la misma jerarquía.

Cross-Joins

MDX permite la ejecución de Cross-Join entre tuplas; para esto se puede usar la función
Crossjoin o el operador “*”.

Ejecute la siguiente consulta:

SELECT
{
([Date].[Calendar].[CY 2002]),
([Date].[Calendar].[CY 2003]),
([Date].[Calendar].[CY 2004])
} ON COLUMNS,
Crossjoin(
{[Product].[Category].[Category].Members},
{
([Measures].[Reseller Sales Amount]),
([Measures].[Reseller Order Quantity])
}
) ON ROWS
FROM [Step-by-Step]
WHERE ([Geography].[Country].[United States])

¿Cómo se muestra la tabla de resultados?

Miembros calculados 1

MDX permite la definición de miembros temporales dentro de la consulta.

Para definir un nuevo miembro X en la jerarquía de categoría de productos ejecute la


siguiente consulta:

WITH
MEMBER [Product].[Category].[All Products].[X] AS
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Laboratorio de Inteligencia de Negocios - 2010
Laboratorio 3 Consultas MDX

1+1
SELECT
{
([Date].[Calendar Year].[CY 2003]),
([Date].[Calendar Year].[CY 2004])
} ON COLUMNS,
{
([Product].[Category].[Accessories]) ,
([Product].[Category].[Bikes]),
([Product].[Category].[Clothing]),
([Product].[Category].[Components]),
([Product].[Category].[X])
} ON ROWS
FROM [Step-by-Step]

¿Cuáles son los valores para la fila X?

Miembros calculados 2 (Función AllMembers)

Los miembros creados con la cláusula WITH MEMBER pueden ser calculados a partir de otros
miembros.

Ejecute la siguiente consulta:

WITH
MEMBER [Product].[Category].[All Products].[Bikes & Accessories] AS
([Product].[Category].[Bikes]) + ([Product].[Category].[Accessories])
SELECT
{
([Date].[Calendar Year].[CY 2003]),
([Date].[Calendar Year].[CY 2004])
} ON COLUMNS,
{[Product].[Category].AllMembers} ON ROWS
FROM [Step-by-Step]

Reemplace la función AllMembers por Members. ¿Qué cambios nota en la tabla de


resultados?

También podría gustarte