Buenas,
usualmente después de muchas cervezas me levanto a la noche para ir al baño. Anoche, me di un golpazo contra la esquina de la cama, y decidí no levantarme más (mucho más peligroso es tener este televisor asesino escondido debajo de la cama a la espera de la pantorrila de algún noctambulo desprevenido; ideal para aquellos que tienen miedo y miran debajo para asegurarse que no está el chico del 6to Sentido)
Hoy pensaba escribir un paso a paso, para mostrar la creación de un proyecto de Analysis Services 2005; pero como todavía arrastro una resaca el dolor; partiré de un ejemplo mucho más simple.
Si realizamos una instalación de Microsoft SQL Server 2005, y seleccionamos el material adicional en Client Components. nuestro SQL se instalará con las bases de datos relacionales AdventureWorks y AdventureWorksDW.
Adventure Works
Estas bases de datos sirven de ejemplo para trabajar y realizar pruebas en entornos transacciones y multidimensionales (OLTP y OLAP). Son la base de AdventureWorks, es una empresa que se dedica a la venta de bicicletas por internet y estas dbs son el resultado de una aplicación de ejemplo que tira contra las mismas.
Si las analizamos un poco más y vemos la estructura interna de las mismas, veremos que son bastantes simples, se puede comprender el modelo de datos simplemente viendo un esquema de la DB y además ya vienen con un set de datos de ejemplo, lo sufientemente completo como para comenzar a trabajar.
Ahora bien, si dentro de SQL Server Managment Studio (herramienta explicada here) agregamos nuestra base de datos relacional y nuestra instancia de Analysis Services 2005; veremos que no tenemos ninguna base de datos dentro de la segunda:

Muchos se preguntarán
¿porqué nuestra base de datos de Analysis Services está vacía?
¿porqué no trae ninguna base de datos de ejemplo?
Pues la solución mas adelante, pero para comenzar comencemos navegando el directorio:
C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project\Enterprise
ya que en el mismo esta el archivo Adventure Works DW.dwproj. Este archivo es un proyecto de BI, de Analysis Services 2005.
Adventure Works - Solución de BI
Es el proyecto ejemplo de BI para Adventure Works, con el que podremos dar nuestros primeros pasos para conocer SQL 2005 Business Intelligente Development Studio (Visual Studio 2005).
(Este proyecto está pensado para la versión Enterprise de SQL Server Analysis Services, si estamos trabajando con la versión Standard deberemos abrir el proyecto situado en C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project\Standard)
Una vez abierto el Proyecto podremos navegar dentro del mismo y en el panel Solution Explorer (conocido ya para todos los que utilizamos Visual Studio 2005) encontraremos una división específica de Analysis Services para cada uno de los elementos que componen una base de datos de BI:
- Data Sources
Representan las fuentes de datos que alimentarán a nuestro proyecto de BI. Al utilizar los proveedores .Net, podremos trabajar contra diferentes bases de datos como Microsoft SQL Server, Oracle y DB2. Los Data sources contienen informacion relacionada con la conexión a una base de datos (user, contraseña, etc)
-
Data Source Views.
Estas "vistas" permiten seleccionar aquellos elementos que necesitemos de una determinada DataSource. Por lo general, no necesitamos todas las tablas de una base de datos, y es por este motivo que se han creado los Data Source Views. La utilización de DSVs permite ademas consolidar el modelo de datos ya que es posible incluir objetos (tablas, vistas, queries) de diferentes Data Sources en un mismo DSV.
- Cubes.
Los cubos son la base de un proceso de BI. Representan una colección de medidas (measures) y dimensiones.
-
Dimensions.
Una dimensión representa un set de datos específico sobre el que queremos trabajar. Cada dimensión contiene una serie de jerarquías; las mismas pueden ser Attribute Hierarchies o User Hierarchies. Un ejemplo de una dimesión, puede ser la dimesión Time; donde encontraremos las los atributos Año, Mes, Día y una jerarquía Año-Mes-Día.
- Mining Models.
La minería de datos (Data Mining) es un proceso que consiste en el análisis de información utilizando algoritmos que permiten descubrir patrones e información relacionada. Los modelos de minería contienen información sobre un set de datos al cual se le ha aplicado un algoritmo para analizar o precedir información.
-
Roles.
Los Roles permiten controlar el acceso a los diferentes objetos de una base de datos de BI. Las acciones más comunes que podemos controlar son lectura, escritura y procesamiento.
- Assemblies.
Estos archivos son ensamblados (assemblies) .Net generados con algun lenguaje de Visual Studio, como por ejemplo Visual Basic .Net o también pueden incluir componentes COM. Estos objetos luego son utilizados para operaciones que deben realizarse en el server. Se pueden asociar ensamblados a nivel de base de datos o a nivel de server en AS2005.
-
Miscellaneous.
Esta sección se utiliza para agregar cualquier tipo de archivo adicional a nuestro proyecto de BI.
Ademas, podemos ver que dentro de Visual Studio, podemos inspeccionar cada uno de los elementos utilizando el Properties Pane. (si comienzan a cambiar, aconsejo/obligo un BackUp)
En este momento, podríamos ver la configuración y la definición que posee un cubo; por ejemplo el cubo Adventure Works.cube. Sin embargo, el mismo todavía no ha sido procesado por lo que no prodremos navegar por la información del mismo. Lo mismo se aplica a las dimensiones, donde no tenemos todavía información disponibles para trabajar.
Despliegue de un proyecto de BI
Pues bien, siguiente paso: A PROCESARLO !!!
El proceso y despliegue (o deploy, q mola más) de un proyecto de AS, se realiza en 2 fases, donde primero se despliega la información de configuracion de cada uno de los objetos de la solución y luego se procesan los mismos. Para esto, debemos seleccionar la solución y en el menu contextual de la misma seleccionar la opción Process.

Nota: antes de realizar el deploy del proyecto, es recomendable revisar la información de despliegue para ver a que servidor estamos "apuntando" y con que tipo de reglas nos estamos manejando. Esto se puede consultar desde las propiedades del proyecto, y podremos ver:
En este caso el proyecto esta configurado para realizar el deploy en el servidor local (localhost) y sobre la base de datos (Adventure Works DW). Además solo se realizará el deploy de los cambios realizados y las operaciones de deploy no se realizarán de manera transaccional. Como la base de datos no existe en nuestro Analysis Services es necesario crearla desde el SQL Server Managment Studio.
Ahora si A PROCESAR !!!
Nota: si estamos trabajando con la version Standard de SQL, podremos ver el siguiente error:
Errors related to feature availability and configuration: The 'Perspectives' feature is not included in the 'Standard Edition' SKU.
Esto se debe a que esta versión no soporta perspectivas para los cubos (traduzco que te mueres) y es necesario eliminar las perspectivas del cubo antes de procesar el mismo. Como no solo las perspectivas son exclusivas de la versión Enterprise; recomiendo abrir el proyecto para la versión Standard que está en el directorio C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project\Standard.
Proceso de la información de un proyecto de BI
Una vez hecho el deploy de la información del cubo, podremos ver el siguiente formulario que nos permite dar comienzo al proceso de los datos del cubo, para comenzar presionar Run.
Este proceso puede tardar un par de horas minutos y durante el mismo, podremos ver el progreso y como se procesan cada una de las partes de la solucion; data minings, cubos, dimensiones, measure groups, y las consultas MDX que se están ejecutando para completar la información.
Cuando se ha finalizado el proceso, ya podremos ver en la seccion "browse" de un cubo la información con la que cuenta el mismo :D
Y ya tenemos nuestro primer cubo. Para la próxima entraré un poco mas en detalle sobre cada uno de estos elementos y tal vez me anime con MOLAP, ROLAP, etc.
Saludos
El Bruno
Crossposting from
ElBruno.com