e:\ricardo topicos\ultimo corte\tareas 16 abril

11
TAREAS: 1.- Realizar y gestionar cubos OLAP en Microsoft Excel. INSTRUCCIONES PARA TRABAJAR CON CUBOS OLAP DESDE EXCEL Podemos utilizar una base de datos de Microsoft ® ACCESS. En los cubos OLAP podemos trabajar indistintamente con tablas o con consultas. Lo primero que tenemos que hacer es establecer la conexión con la base de datos; escogemos, del menú Datos, Obtener datos externos, Nueva consulta de base de datos: Escogemos MS Access Database: Cuando aceptemos nos aparecerá un menú para seleccionar nuestra base de datos: Una vez seleccionada, aparecerá un asistente que nos indica que tablas o consultas queremos seleccionar:

Upload: yoscelina13

Post on 14-Jul-2015

874 views

Category:

Education


2 download

TRANSCRIPT

Page 1: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

TAREAS:

1.- Realizar y gestionar cubos OLAP en Microsoft Excel.

INSTRUCCIONES PARA TRABAJAR CON CUBOS OLAP DESDE EXCELPodemos utilizar una base de datos de Microsoft ® ACCESS. En los cubos OLAP podemos trabajar indistintamente con tablas o con consultas.Lo primero que tenemos que hacer es establecer la conexión con la base de datos; escogemos, del menú Datos, Obtener datos externos, Nueva consulta de base de datos:

Escogemos MS Access Database:

Cuando aceptemos nos aparecerá un menú para seleccionar nuestra base de datos:

Una vez seleccionada, aparecerá un asistente que nos indica que tablas o consultas queremos seleccionar:

Page 2: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

El asistente nos permite filtrar datos y ordenar según diversos criterios, recomiendo que lo hagáis directamente en la consulta de la base de datos.Después de estas opciones es el momento de elegir que queremos un cubo OLAP.

Nos saldrá el mensaje de las ventajas de usar cubos OLAP:

Y comenzará el asistente para cubos OLAP. El primer paso es indicar sobre qué campos queremos totalizar:

Page 3: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

El siguiente paso es escoger las dimensiones con las que queremos trabajar

Los campos que reconoce como fecha los descompone además enTrimestres, Mes o Semana, y Fecha (Día).A continuación hay que escoger si guarda toda la información del cubo OLAP, el nombre del archivo y el directorio donde lo queremos guardar.

Page 4: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

Una vez le indiquemos donde lo queremos guardar lo calculará y se abrirá el asistente para tablas y gráficos dinámicos, aceptamos:

En EXCEL aparece una barra de herramientas de tablas dinámicas:

Page 5: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

A partir de aquí podemos escoger los campos: los arrastramos y los dejamos caer en la posición que nosotros queramos. Los calculados serán en la parte central, las fechas es recomendable situarlos en los campos de columna, y en los de fila podemos situar los conceptos de gasto, y en los de página los proyectos.Para pasar al gráfico tan solo tenemos que hacer un clic sobre el icono de gráfico de la barra de herramientas de tabla dinámica. A partir de este momento funciona igual que una tabla dinámica.http://www.banespyme.org/imagesWeb/ArchivoMultimedia/Documentacion/3/cubosolapexcel.pdf

2.- Consultar la diferencia entre Holap, Molap y Rolap.

Sistemas HOLAP

Los sistemas de soporte a la decisión usando tecnologías de Data Warehouse, se llaman sistemas OLAP (siglas de On Line Analytical Processing (OLAP). En general, estos sistemas OLAP deben:

• Soportar requerimientos complejos de análisis • Analizar datos desde diferentes perspectivas • Soportar análisis complejos contra un volumen ingente de datos

La funcionalidad de los sistemas OLAP se caracteriza por ser un análisis multidimensional de datos corporativos, que soportan los análisis del usuario y unas posibilidades de navegación, seleccionando la información a obtener.

Normalmente este tipo de selecciones se ve reflejada en la visualización de la estructura multidimensional, en unos campos de selección que nos permitan elegir el nivel de agregación (jerarquía) de la dimensión, y/o la elección de un dato en concreto, la visualización de los atributos del sujeto, frente a una(s) dimensiones en modo tabla, pudiendo con ello realizar, entre otras las siguientes acciones:

Rotar (Swap): 		alterar las filas por columnas (permutar dos dimensiones de análisis)Bajar (Down): 		bajar el nivel de visualización en las filas a una jerarquía inferiorDetallar (Drilldown): 	informar para una fila en concreto, de datos a un nivel inferiorExpandir (Expand): 	id. anterior sin perder la información a nivel superior para éste y el resto de los valoresColapsar (Collapse): 	operación inversa de la anterior.

Para ampliar el glosario sobre exploraciones en análisis OLAP, recomendamos la visita a la página Internet:en donde se describen en torno a 50 términos relacionados con las posibilidades de navegación que permiten este tipo de análisis.

Existen dos arquitecturas diferentes para los sistemas OLAP: OLAP multidimensional (MOLAP) y OLAP relacionales (ROLAP).

Sistemas MOLAP

La arquitectura MOLAP usa unas bases de datos multidimensionales para proporcionar el análisis, su principal premisa es que el OLAP está mejor implantado almacenando los datos

Page 6: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

multidimensionalmente. Por el contrario, la arquitectura ROLAP cree que las capacidades OLAP están perfectamente implantadas sobre bases de datos relacionales

Un sistema MOLAP usa una base de datos propietaria multidimensional, en la que la información se almacena multidimensionalmente, para ser visualizada multidimensionalmente.

El sistema MOLAP utiliza una arquitectura de dos niveles: La bases de datos multidimensionales y el motor analítico.

• La base de datos multidimensional es la encargada del manejo, acceso y obtención del dato.

• El nivel de aplicación es el responsable de la ejecución de los requerimientos OLAP. El nivel de presentación se integra con el de aplicación y proporciona un interfaz a través del cual los usuarios finales visualizan los análisis OLAP. Una arquitectura cliente/servidor permite a varios usuarios acceder a la misma base de datos multidimensional.

La información procedente de los sistemas operacionales, se carga en el sistema MOLAP, mediante una serie de rutinas batch. Una vez cargado el dato elemental en la Base de Datos multidimensional (MDDB), se realizan una serie de cálculos en batch, para calcular los datos agregados, a través de las dimensiones de negocio, rellenando la estructura MDDB.Tras rellenar esta estructura, se generan unos índices y algoritmos de tablas hash para mejorar los tiempos de accesos a las consultas.

Una vez que el proceso de compilación se ha acabado, la MDDB está lista para su uso. Los usuarios solicitan informes a través del interface, y la lógica de aplicación de la MDDB obtiene el dato.

La arquitectura MOLAP requiere unos cálculos intensivos de compilación. Lee de datos precompilados, y tiene capacidades limitadas de crear agregaciones dinámicamente o de hallar ratios que no se hayan precalculados y almacenados previamente.

Sistemas ROLAP

La arquitectura ROLAP, accede a los datos almacenados en un Data Warehouse para proporcionar los análisis OLAP. La premisa de los sistemas ROLAP es que las capacidades OLAP se soportan mejor contra las bases de datos relacionales.

Page 7: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

El sistema ROLAP utiliza una arquitectura de tres niveles. La base de datos relacional maneja los requerimientos de almacenamiento de datos, y el motor ROLAP proporciona la funcionalidad analítica.

• El nivel de base de datos usa bases de datos relacionales para el manejo, acceso y obtención del dato.

• El nivel de aplicación es el motor que ejecuta las consultas multidimensionales de los usuarios.

• El motor ROLAP se integra con niveles de presentación, a través de los cuales los usuarios realizan los análisis OLAP.

Después de que el modelo de datos para el Data Warehouse se ha definido, los datos se cargan desde el sistema operacional. Se ejecutan rutinas de bases de datos para agregar el dato, si así es requerido por el modelos de datos.

Se crean entonces los índices para optimizar los tiempos de acceso a las consultas.

Los usuarios finales ejecutan sus análisis multidimensionales, a través del motor ROLAP, que transforma dinámicamente sus consultas a consultas SQL. Se ejecutan estas consultas SQL en las bases de datos relacionales, y sus resultados se relacionan mediante tablas cruzadas y conjuntos multidimensionales para devolver los resultados a los usuarios.

La arquitectura ROLAP es capaz de usar datos precalculados si estos están disponibles, o de generar dinámicamente los resultados desde los datos elementales si es preciso. Esta arquitectura accede directamente a los datos del Data Warehouse, y soporta técnicas de optimización de accesos para acelerar las consultas. Estas optimizaciones son, entre otras, particionado de los datos a nivel de aplicación, soporte a la desnormalización y joins múltiples.

ROLAP vs. MOLAP (Comparativa)

Cuando se comparan las dos arquitecturas, se pueden realizar las siguientes observaciones:

• El ROLAP delega la negociación entre tiempo de respuesta y el proceso batch al diseño del sistema. Mientras, el MOLAP, suele requerir que sus bases de datos se precompilen para conseguir un rendimiento aceptable en las consultas, incrementando, por tanto los requerimientos batch.

• Los sistemas con alta volatilidad de los datos (aquellos en los que cambian las reglas de agregación y consolidación), requieren una arquitectura que pueda realizar esta

Page 8: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

consolidación ad-hoc. Los sistemas ROLAP soportan bien esta consolidación dinámica, mientras que los MOLAP están más orientados hacia consolidaciones batch.

• Los ROLAP pueden crecer hasta un gran número de dimensiones, mientras que los MOLAP generalmente son adecuados para diez o menos dimensiones.

• Los ROLAP soportan análisis OLAP contra grandes volúmenes de datos elementales, mientras que los MOLAP se comportan razonablemente en volúmenes más reducidos (menos de 5 Gb)

Por ello, y resumiendo, el ROLAP es una arquitectura flexible y general, que crece para dar soporte a amplios requerimientos OLAP. El MOLAP es una solución particular, adecuada para soluciones departamentales con unos volúmenes de información y número de dimensiones más modestos.

http://www.csi.map.es/csi/silice/DW2251.html

3.- Consultar, Leer, Entender el lenguaje MDX para la realización de consultas de cubos en algún gestor.

Que es MDX

MDX es un acrónimo de Multidimensional Query eXpression. Este lenguaje fue creado en1997 por Microsoft. No es un lenguaje estándar sin embargo diferentes fabricantes de herramientas OLAP (entre ellos Mondrian) lo han adoptado como estandard de hecho.El MDX es en los sistemas OLAP el equivalente al SQL en los sistemas gestores de bases de datos relacionales. Eso significa que es el lenguaje a través del cual podemos explotar la información que reside en los motores OLAP y satisfacer las consultas analíticas de las que hemos hablado en el capítulo introductorio.Es un lenguaje de consulta más cercano al lenguaje natural que el SQL sin embargo tiene funciones y formulas que lo hacen muy potente para el análisis de datos.La principal diferencia del mundo OLAP respecto al mundo relacional radica en que las estructuras dimensionales están jerarquizadas y se representan en forma de árbol y por lo tanto existen relaciones entre los diferentes miembros de las dimensiones.Este hecho hace que el lenguaje MDX disponga de funciones y atributos especiales que permiten referenciar los diferentes elementos de las dimensiones con expresiones comoMIEMBROS-HIJO, MIEMBROS-PRIMO, MIEMBROS-PADRE,etc... Haciendo una analogía con los árboles genealógicos.Estas estructuras jerarquizadas son especialmente útiles para poder visualizar los datos de forma comparada a nivel temporal pero de las dimensiones temporales y sus particularidades ya hablaremos en otro capítulo.

Principales aspectos de la sintaxis de MDX

El lenguaje MDX permite realizar consultas con una sintaxis parecida al lenguaje natural.Para ejemplificar las consultas y la sintaxis trabajaremos con un ejemplo de un cubo.Imaginamos un cubo de ventas con las siguientes dimensiones:Dimensión temporal de las ventas con niveles de año y mes.Dimensión productos vendidos con niveles de familia de productos y productos.Dimensión de medidas con importe de las ventas y unidades vendidas

Page 9: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

Mi primera consultaSi queremos obtener por ejemplo el importe de las ventas para el año 2008 para la familia de productos lácteos la consulta sería la siguiente:SELECT{ [Medidas].[importe ventas]}on columns,{ [Tiempo].[2008] }on rowsFROM [cubo ventas]WHERE ([Familia].[lacteos])

Analogía con SQLAnalizando la consulta de ejemplo podemos establecer una analogía con el SQL para explicar mejor la estructura del lenguaje. En primer lugar tenemos la estructura idéntica general de la consulta con las cláusulas SELECT... FROM... WHERE que en MDX se usa idénticamente al SQL especificando en el select un conjunto de elementos que queremos visualizar, en el from indicamos el cubo del que queremos sacar la información y en el where las condiciones de filtrado.Una de las particularidades del MDX es que la información la devuelve en forma tabular normalmente y debe ser procesada. Si os fijáis en la cláusula select se usa la clausula on columns. Esta cláusula sirve para separar los elementos que queremos visualizar en las filas de los que queremos en las columnas. En la consulta de ejemplo veremos el importe en las columnas y el tiempo en las filas. Los { } son para permitir listas de elementos en las selecciones y los [] encapsulan elementos de las dimensiones y niveles.

Principales funciones,opciones y elementos MDXA nivel de funcionalidades y potencia a la hora de realizar consultas el MDX es potente como el SQL aunque su objetivo está orientado a temas de comparaciones, relaciones jerárquicas entre elementos,etc...Una de las funcionalidades que distinguen al MDX es el acceder a los elementos utilizando estructura de árbol. Así para un Determinado nivel de una dimensión tenemos comandos como:[Familia].[lácteos].CurrentMember : Permite acceder al miembro actual[Familia].[lácteos].Children : Permite acceder a los hijos de la familia de los lácteos[Familia].[lácteos].prevMember: Permite acceder al miembro anterior de la dimensión.Por otro lado existen diferentes funciones que permiten realizar cálculos y complementar las consultas como por ejemplo:CrossJoin (conjunto_a, conjunto_b): Obtiene el producto cartesiano de dos conjuntos de datos.BottomCount(conjunto_datos, N): Obtener un número determinado de elementos de un conjunto, empezando por abajo, opcionalmente ordenado.BottomSum(conjunto_datos,N, S): Obtener de un conjunto ordenado los N elementos cuyo total es como mínimo el especificado( S).Except (conjunto_a,conjunto_b): Obtener la diferencia entre dos conjuntos.Finalmente comentar que en MDX también están implementadas muchas funciones matemáticas y estadísticas que permiten enriquecer los análisis. Encontramos entre muchas otras funciones como:AVGCOUNTVARIANCEVARIANCEn y todas las funciones trigonométricas (Seno, Coseno, tangente,etc...)

Page 10: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

PeriodsToDateFuncionalidad: Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando con el miembro en cuestión, de acuerdo con la restricción del nivel especificado en la dimensión de tiempo.Sintaxis: <Conjunto> PeriodsToDate(<Nivel>, <Miembro>)Ejemplo: PeriodsToDate([Tiempo].[Mensual].[Semestre],[Tiempo].[Mensual].[Mes].[Agosto2009]El siguiente ejemplo devolveria el conjunto de meses desde agosto de 2009 hasta el final del semestre es decir julio y agosto de 2009.Existen funciones especiales para simplificar el uso de PeriodsToDate en sus versiones más comunes y son las siguientes:WTD(<Miembro>): Devuelve los miembros de la misma semana del miembroespecíficado.MTD(<Miembro>): Devuelve los miembros del mismo mes del miembroespecíficado.QTY(<Miembro>): Devuelve los miembros del mismo trimestre del miembroespecíficado.YTD(<Miembro>): Devuelve los miembros del mismo año del miembroespecíficado.

ParallelPeriodFuncionalidad: Devuelve un miembro de un periodo anterior en la misma posición relativa que el miembro especificado.Sintaxis: <Miembro> ParallelPeriod (<Nivel>, <Expresión numérica>, <Miembro>)Ejemplo: ParallelPeriod ([Tiempo].[Mes].[Semestre], 3,[Tiempo].[Mensual].[Mes].[Junio 2009]) El siguiente ejemplo devolvería diciembre 2007 que es el equivalente al último mes del semestre retrocediendo 3 semestres en el tiempo.Hay más funciones de tiempo pero con estas sólo pretendo ilustrar el concepto y la utilidad de estas funciones. Cada uno deberá buscar la función que necesite para realizar sus cálculos y funcionalidades en sus cubos.

http://www.enricbiosca.es/arxius/Tutorial_MDX.pdf

Page 11: E:\Ricardo Topicos\Ultimo Corte\Tareas 16 Abril

Instituto Tecnológico Superior De Lerdo

Materia:Tópicos Avanzados de Base de Datos

TAREAS:• Consultar como se realiza y gestiona los cubos OLAP en Microsoft Excel.• Diferencias de Holap, Rolap y Molap• Consultar, Leer y Entender el lenguaje MDX para la realización de consultas en

algún gestor que lo permita.• Estructura o modelo de cubos.

Alumna:Dora Yoscelina Marrufo Ramírez

Carrera:Lic. De Informática

Titular de la materia:Ing. Ricardo Bustamante

21de Abril del 2010Cd. Lerdo Durango