PDF de programación - Tutorial operador CUBE

Imágen de pdf Tutorial operador CUBE

Tutorial operador CUBEgráfica de visualizaciones

Publicado el 17 de Septiembre del 2018
421 visualizaciones desde el 17 de Septiembre del 2018
779,6 KB
13 paginas
Creado hace 9a (20/12/2011)
1

TUTORIAL OPERADOR CUBE



Objetivo

El objetivo de este tutorial, es la construcción de cubos de datos a través del operador CUBE, que
viene incluido en el SQL Server, y forma parte del estándar SQL del año 2003.

En los tutoriales anteriores, la construcción de cubos de datos, se ha realizado a través de la
herramienta Analysis Manager. En este tutorial la construcción del cubo se hará de manera
manual o comandos propios del SQL Server. Se trabajara en la construcción del cubo generado
en el tutorial 1.


Creación Base de Datos SQL Server.

Para trabajar con los comandos del SQL Server en la construcción del cubo, se debe tener una
base de datos SQL Server. Como en los tutoriales anteriores se trabajo con una base de datos
Access (foodmart 2000.mdb), es necesario migrar su información a una base de datos SQL
Server. Para la creación de la base de datos, se debe entrar a la herramienta Entreprise Manager
de la opción Microfost Sql Server, que se encuentra en Inicio/Todos los Programas



Se debe expandir la opción Microsoft SQL Servers, luego la opción SQL Server Group y
finalmente expandir la opción (local), de no existir la opción (local), se debe expandir la opción
que contiene el nombre del equipo. El servidor (local) debe estar inicializado, de no estarlo, hacer
clic con el botón derecho sobre la opción (local) y elegir la opción Star.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

2


En este momento se muestra una vista de todas las opciones que están disponibles para el trabajo
con base de datos SQL Server. Para crear una nueva base de datos, se debe hacer clic con el
botón derecho del Mouse sobre la opción Databases



Se debe elegir la opción New Database …



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster




3


En la opción Name, ingrese el nombre Food, este será el nombre de la base de datos utilizado por
el SQL Server, luego haga clic sobre el botón Acepar.

Al expandir la opción Databases, aparecerá la nueva base de datos recién creada.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

4

La base de datos Food, se encuentra vacía sin información. Se llenara con la estructura de tablas y
datos de la base de datos Access foodmart 2000.mdb. Para importar la información, haga clic con
el botón derecho del Mouse sobre la base de datos fodd y elija la opción Todas las tareas, y
dentro de esta la opción Import Data …

Haga clic en siguiente a la primera pantalla que aparece del DTS Import/Export Wizard.



En la primera parte se pide seleccionar la base de datos fuentes que será importada, en este caso
la base Access. En la opción Data Source se debe elegir la opción Microsoft Access.



En la opción File Name, se debe indicar que la base de datos Access se encuentra en c:\Archivos
de Programa\Microsoft Analysis Services\Samples\ foodmart 2000.mdb. Luego hacer clic en el
botón Siguiente.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster




5



Elegido la base de datos fuentes, se pide seleccionar la base de datos de destino o receptora de los
datos de la base de datos origen. Por defecto aparece la base de datos Food, por lo cual se debe
hacer clic en el botón Siguiente.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

6

En esta opción, se nos pregunta si se desea copiar las tablas y vistas desde el origen de datos, o
bien, se desea realizar el traspaso a través de consultas ingresadas por el usuario. Se debe dejar
marcada la primera opción y hacer clic sobre el botón Siguiente.



En esta opción del tutorial, se pueden marcar las tablas a traspasar. Se pueden marcar una a una, o
bien usar la opción Select All. Marcar todas las tablas y hacer clic sobre el botón Siguiente.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

Esta opción nos permite realizar el proceso de traspaso inmediatamente o dejarlo programado.
Dejar marcada la opción Run immediately y hacer clic sobr el botón Siguiente.



7



Finalmente se muestra un resumen de la base de datos fuente y destino. Hacer clic sobre el botón
Finalizar, para proceder con el traspaso de información. Se entregará un mensaje de resumen con
las tablas importadas, y la base de datos aparecerá con tablas de usuario.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

8

Manejo del Operador CUBE


La operador CUBE paso a formar parte del SQL Estándar a contar del 2003. Es una función de
análisis de datos, que forma parte de la instrucción Group By.

El operador CUBE genera un conjunto de resultados que es un cubo multidimensional. Un cubo
multidimensional es una expansión de datos de hechos o datos que registran eventos individuales.
La expansión se basa en columnas que el usuario desea analizar. Estas columnas se llaman
dimensiones. El cubo es un conjunto de resultados que contiene una tabla cruzada de todas las
combinaciones de dimensiones posibles.

El operador CUBE, sirve principalmente para modelos en estrella.

El operador CUBE se especifica en la cláusula GROUP BY de una instrucción SELECT. La lista
de selección contiene las columnas de dimensión y las expresiones de funciones de agregado.
GROUP BY especifica las columnas de dimensión y las palabras clave WITH CUBE. El
conjunto de resultados contiene todas las combinaciones posibles de los valores de las columnas
de dimensiones, junto con los valores de agregado de las filas subyacentes que coinciden con esa
combinación de valores de dimensión.

En nuestro caso de ejemplo, las medidas están en la tabla sales_fact_1998, y corresponde a las
columnas store_sales, store_cost y unit_sales.

Trabajaros con tres dimensiones: customer, store y product. Estas tres dimensiones también se
encuentra representadas en la tabla de hechos, en las columnas customer_id, store_id y
product_id.

En el Enterprise Manager, seleccionemos la opción Tools/SQL Query Analyzer, que corresponde
al editor de línea de comandos de instrucciones DML del SQL Server.

Como el operador CUBE forma parte de la instrucción Group By, en primer lugar procederemos
a confeccionar la instrucción Group By con la medida store_sales y para empezar con dos
dimensiones: product y store.

Después de escribir la instrucción select, se debe presionar F5, para ejecutar la instrucción.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

9


Esta consulta se hizo usando solamente la tabla sales_fact_1998, y se usaron los campos de llave
foránea de las dimensiones. Modificaremos la consulta, para que aparezca la información con el
nombre de las dimensiones:



La construcción de esta primera parte, involucra las mismas tablas que se utilizaron con el
tutorial.

Para aplicar el operador CUBE, en la instrucción anterior basta agregar la sentencia With Cube.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

10



NULL

1156.4400


La fila siguiente es de especial interés:

ADJ Rosy Sunglasses


Esta fila informa de todas las filas que tengan el valor ADJ Rosy Sunglasses, en la dimensión
producto. Se devuelve el valor Null para la dimensión store, para indicar que el agregado
indicado por la fila, incluye las filas con cualquier valor de la dimensión store. Esta última fila no
es generada por la instrucción group by, y su creación se debe al uso del operador CUBE.


NULL

La fila anterior informa del total general del cubo. Ambas dimensiones product y store, tienen el
valor null. Esto demuestra que se resumen en la fila todos los valores de ambas dimensiones.


NULL

Esta fila indica el sub-total para la dimensión Store con el valor Store 1. Tiene el valor null en la
columna product, lo cual indica que el agregado indicado por la fila, incluye las filas con
cualquier valor de la dimensión product.

1079147.4700

NULL

Store 1

49090.0300

Los valores NULL que genera la operación CUBE presentan el siguiente problema: ¿cómo se
puede diferenciar un valor NULL generado por la operación CUBE de otro valor NULL devuelto
por los datos reales? Esto se consigue con la función GROUPING. La función GROUPING
devuelve 0 si el valor de la columna proviene de los datos de hechos y 1 si el valor de la columna
es un valor NULL generado por la operación CUBE. En una operación CUBE, un valor NULL
generado representa todos los valores.


Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

11

Es posible escribir la instrucción SELECT para que utilice la función GROUPING a fin de
aplicar la cadena ALL en lugar de cualquier valor NULL generado. Puesto que un NULL de los
datos de hechos indica que el valor de los datos es desconocido, la instrucción SELECT también
se puede codificar para que devuelva la cadena UNKNOWN en lugar de un valor NULL de los
datos de hechos.

else isnull(b.product_name, 'UNKNOWN')

Por ejemplo:

select case when (grouping (b.product_name)=1) then 'ALL'

END AS Product,
case when (grouping (c.store_name)=1) then 'ALL'

else isnull(c.store_name, 'UNKNOWN')
END AS Store,
sum(a.store_sales) sales
from sales_fact_1998 a,product b,store c
where a.product_id=b.product_id
and a.store_id=c.store_id
group by b.product_name,c.store_name
WITH CUBE



Como se puede apreciar, la fila 23, cambio su valor Null por ALL.



Bases de Datos Modernas. Tutorial 4.
Curso de Magíster

12

Las instrucciones SELECT que contienen un operador CUBE con muchas dimensiones pueden
generar conjuntos de resultados grandes, porque estas ins
  • Links de descarga
http://lwp-l.com/pdf13536

Comentarios de: Tutorial operador CUBE (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad