Diseño de hechos, atributos y jerarquia de dimensiones en Microstrategy 9.

Una vez configurado el servidor y creado el proyecto (tal y como vimos en la entrada anterior del blog), vamos a proceder a implementar el modelo lógico de nuestro Data Warehouse dentro del esquema de metadatos de Microstrategy.

Esta tarea es fundamental para empezar a trabajar con nuestra herramienta de BI. Es el punto de partida para empezar a preparar los diferentes elementos que formaran nuestro sistema de Business Intelligence (informes, cuadros de mando, análisis, etc).

Del modelo lógico al metadata de Microstrategy

Las tareas que realizaremos en este paso será la definición de los atributos de las dimensiones, la relación entre ellos (organización jerarquica), asi como de los indicadores de negocio relevantes en nuestra organización. Aquí estableceremos la relación entre estos elementos lógicos y sus equivalentes a nivel físico (tablas y campos de la base de datos).

Os recomiendo visualizar el video elaborado por Microstrategy para ver un ejemplo real de la definición de estos elementos.

Haciendo memoria de la teoria del modelo dimensional que vimos anteriormente:

  • Hechos / indicadores: son los valores de negocio por los que querremos analizar nuestra organización (importe ventas, margen, rentabilidad).
  • Dimensiones: las perspectivas o diferentes ambitos por los que querremos analizar estos indicadores de negocio (son las que dan sentido al análisis de los indicadores de negocio, pues sin dimensiones no son mas que un valor mas).  Permite contestar preguntas sobre los hechos y darles un contexto de análisis. En nuestro modelo, las dimensiones seran el tiempo (siempre suele haber una dimensión temporal), cliente, producto, promoción y logística.

Asistente creación de proyectos

Para configurar esto dentro de Microstrategy, realizaremos tres tareas principales:

1) Selección de tablas del catalogo del Warehouse: de todas las tablas que tendremos en la base de datos del Data Warehouse, seleccionaremos con cuales de ellas vamos a trabajar. Las tablas seleccionadas y sus campos determinaran los elementos disponibles para el resto de pasos.

2) Creación de hechos: de las tablas seleccionadas en el paso anterior, indicaremos que campos son los que corresponden a los hechos. Estos campos nos serviran de base para la creación de las metricas, que seran las que utilizaremos en los informes, documentos y análisis. Estas métricas, partiendo de las base de los hechos, podran incluir operaciones, calculos de uno o mas campos, así como el uso de funciones complejas (Microstrategy incluye un gran número de funciones para realizar calculos complejos sobre los datos, incluyendo funciones estadísticas). Esto nos permitira disponer de valores que se calculan y que realmente no estan guardados en la base de datos.

3) Creación de atributos: en este paso, de la misma manera, seleccionaremos los campos que corresponden a los atributos y realizaremos la configuración básica de ellos, como descripciones, ordenación, asignación de descripciones a códigos (lookups), asi como la configuración de la estructura jerarquica de los diferentes componentes que forman una dimensión (a través de las relaciones padres e hijos).

Para realizar estas tareas, utilizaremos el Asistente para la creación de proyectos, que nos guiara de una forma ordenada, en todos los pasos a realizar para completar estas tareas. El asistente solo se utiliza cuando se crea el proyecto y los procesos de mantenimiento posteriores de las tablas, atributos y hechos los realizaremos desde la herramienta de desarrollo Microstrategy Architect o bien desde el Desktop.

Veamos un poco mas en profundidad cada uno de estos pasos:

Selección de tablas del catalogo del Warehouse

En este paso indicaremos la base de datos que corresponde al Data Warehouse, y del catalogo que indiquemos, nos apareceran todas las tablas definidas en el a nivel físico. De dichas tablas, seleccionaremos aquellas que sean relevantes para nuestro módelo (tal y como vemos en la imagen).

Selección de Tablas de DW

Microstrategy nos permite trabajar con la misma tabla varias veces a traves de los “alias” de tabla. Puede ser util cuando la misma dimensión fisica se utiliza de forma lógica en varios lugares(y no es necesario tener que tener una tabla física para cada una de las dimensiones). Igualmente, también nos permite trabajar con vistas.

Creación de Hechos

De los campos de las tablas indicadas en el punto anterior, en este paso seleccionaremos cuales de ellos son las que consideraremos Hechos. En principio, aunque se puede configurar, solo se toman para este cometido los campos que estan definidos como numéricos.

Selección de columnas de Hechos

Creación de Atributos

La creación de atributos es un poco mas compleja y lleva asociados varios pasos. En primer lugar, de todos los campos de las tablas, seleccionaremos cuales son los que corresponden a nuestros atributos. En el caso de que un atributo lleve asociado un campo identificador y un campo descripción, solo seleccionaremos el campo identificador (pues después se establecera la relación entre campos de código y campos de descripción o de lookup).

Creación de atributos

A continuación, para cada uno de los atributos, indicaremos su campo de lookup. Cuando un campo no dispone de este (como el campo Código Postal, que en si mismo se describe), indicaremos “Utilizar ID como descripción”.

Como ultimo paso en la creación de los atributos, para cada uno de ellos indicaremos que atributos son hijos de el (estan despues en la jerarquia de la dimension) o cuales son padre (estan arriba en el arbol). Este paso lo omiteremos, pues lo realizaremos a continuación con la herramienta gráfica Architect, que es mucho más agil para realizar esta definición.

Mantenimiento del módelo usando Microstrategy Architect

El Architect es, junto con el Desktop, la herramienta principal de desarrollo dentro de Microstrategy. Utilizando esta ultima herramienta podriamos igualmente haber realizado la definición de los hechos y atributos (el paso de selección de tablas habría que haberlo realizado igualmente como un paso previo).

El architect es una herramienta gráfica y con ella se realizan las tareas de mantenimiento dentro de MS. En nuestro caso, dejamos sin definir las jerarquías de atributos y las hemos completado utilizando esta herramienta. Esto es tan sencillo como seleccionar el atributo padre y arrastrar hacia el atributo hijo para que se cree la relación. Posteriormente, seleccionamos en el conector para modificar el tipo de relación entre los componentes ( 1 a n, 1 a 1, etc).

Definicion de jerarquias de atributos con Architect

En la imagen, podeis ver como hemos definido la estructura jerárquica dentro de la dimensión Cliente. Ademas, desde aquí podemos crear nuevos atributos, nuevos hechos o modificar las propiedades de estos (en la parte de la derecha tenemos la tabla de propiedades). Seleccionando el elemento, en esa sección nos aparece toda la información de como esta configurado.

Microstrategy Tutorial

Ademas del proyecto que hemos creado nosotros, al utilizar la herramienta Desktop observamos que hay creado un proyecto de ejemplo, llamado MicroStrategy Tutorial. Este proyecto trabaja con bases de datos de prueba en Access y contiene ejemplos de todos los elementos que podemos definir y utilizar en Microstrategy. Puede ser un punto de partida para aprender a trabajar con los diferentes componentes.

Igualmente, al realizar la instalación, se nos ha creado una carpeta de Documentación, donde disponemos de un lote de archivos en formato PDF con manuales completos de todas las herramientas de Microstrategy, como por ejemplo:

  • Microstrategy Evaluation Guide
  • Installation and Configuration Guide.
  • System Administration Guide.
  • Project Design Guide.
  • Basic Reporting Guide.
  • Advanced Reporting Guide.
  • Report Service Document Creation Guide.

Conclusiones

Despues de realizar estas tareas, el módelo lógico de nuestro proyecto esta implementado y configurado dentro de Microstrategy 9, y podemos comenzar a utilizar la herramienta.

Uno de los puntos fuertes que hemos observado en la herramienta es que todo esta centralizado en las mismas aplicaciones, y desde ellas realizaremos todas las tareas de desarrollo, desde la configuración del sistema, creación del modelo, asi como la creación de los componentes que utilizaran los usuarios. El producto parece ser compacto y consistente, esta es la primera impresión que transmite.

Igualmente, Microstrategy proporciona gran cantidad de documentación, ejemplos, video tutoriales, etc, para que sea más fácil empezar a trabajar con la herramienta y buscar información sobre los diferentes elementos que la conforman. Hasta se incluye en la instalación un curso Web de la herramienta con examenes de evaluación.

Hola:

 

ANte todo, muy buenos tus artículos sobre Microstrategy.

Quería consultarte si es posible lo siguiente. Tener una id de un atributo con un

nombre diferente al que esta en la tabla de hechos.

Si hay forma de vincularlos, de modo que al generar el atributo en Microstrategy,

me traiga las 2 tablas (la maestro y la de hechos), a pesar de que se llaman

diferente.

Muchas gracias.

En respuesta a por wgomez

Hola wgomez

Se puede hacer, deberias crear 2 expresiones para el ID de ese atributo. Una expresion con un nombre A mapeada a la tabla maestro y una expresion con un nombre B mapeada a la tabla de hechos. Ambas expresiones van a ser parte del ID.

Esto es lo que se llama mapeo heterogeneo.

Saludos
Mariano

En respuesta a por MarianoU (no verificado)

Hola Mariano:

Mil gracias por tu respuesta.

He probado generando las 2 expresiones de representación para el ID del

atributo, tal como me

indicaste (una con la columna A de la maestro y otra con la columna B de la

tabla de hechos). Y he generado el atributo de esta forma (agregando la DESC

desde la maestro) sin problemas.

Probé de agregarlo en un reporte y funciona perfecto.

 

Sls., Walter

En respuesta a por wgomez

Alguien sabe si en Microstrategy 8 se puede efectuar un filtro date time,

donde además de la fecha se pueda ingresar la hora ?

En Microstrategy 9 se puede sin problemas, donde hay un wizard para la hora,

similar al calendario emergente para las fechas.

Pero en 8 tuve que usar un ApplySimple.

Lo que sucede es que el prompt termina siendo un texto, con lo cual, depende del

usuario que respete el formato adecuado.

Muchas gracias.