Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio3 Bi
Laboratorio3 Bi
Laboratorio3 Bi
Objetivos
Actividades
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).
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.
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]
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
SELECT
FROM [Chapter 3 Cube]
WHERE (
[Date].[Calendar Year].[All Periods],
[Date].[Fiscal Year].[All Periods],
[Product].[Category].[Bikes],
[Product].[Subcategory].[Mountain Bikes]
)
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.
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).
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
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]
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 “*”.
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])
Miembros calculados 1
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]
Los miembros creados con la cláusula WITH MEMBER pueden ser calculados a partir de otros
miembros.
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]