martes, 15 de marzo de 2011

PerformancePoint: Implementar un filtro de Inteligencia de Tiempo

 

En esta ocasión vamos vamos a hablar de otra herramienta del stack de Microsoft para soluciones de BI: PerformancePoint. La idea de escribir esta entrada me surgió como algunas otras, algún colega lo pregunta en los foros.

Pregunta

Is there any way that I could setup that drop down menu will show just words: Fiscal Month, Fiscal Quarter, and Fiscal Year?  I do not want to see the names of the months and the year.  And it will point, for example, to the fiscal month based on today's date? And Fiscal Month should be default selection.

Is it possible to do?

Básicamente requiere un filtro que no disponga de fecha sino de elementos con nombre: Mes Fiscal, Trimestre Fiscal y Año Fiscal, y que acoten los datos segmentando por la dimensión tiempo, basados en la fecha actual.

Respuesta

Sure! xD

En realidad la respuesta fue algo más larga, así que vamos…

Desarrollo

En la creación de Dashboards (o paneles en spanish) es muy frecuente la implementación de filtros que faciliten al usuario la interacción con los distintos elementos que contienen, como informe analíticos, scorecards, etc..

Para implementar un filtro de tiempo y en particular de Inteligencia de Tiempo es obligatorio tener configurada una dimensión de tipo tiempo, suena obvio pero por si acaso lo comento (quien no ha visto una dimensión de tiempo sin configurar mínimamente?)

Para nuestro ejemplo, vamos a suponer que tenemos una dimensión de tiempo con una jerarquía Calendario con los siguientes niveles: Años, Semestres, Trimestres, Meses y finalmente días.

image

Vamos al DashBoard designer o Diseñador de Paneles. Voy a utilizar la versión 2007 en la que los filtros son elementos propios de cada panel, no se pueden compartir, pero el mecanismo para implementarlos en 2010 es básicamente el mismo.

 

¿Que es Inteligencia de Tiempo?

La versión corta es que Microsoft ha utilizando este término para definir los métodos ideados para facilitar el uso de la dimensión tiempo en un cubo. La versión larga puedes leerla de TechNet. En PerformancePoint se limita a la utilización de fórmulas en filtros de tiempo para facilitar la visualización de conjuntos con nombre.

Configurar conexión

Ya en el diseñador, el primer paso es configurar el tiempo en la conexión. Para esto nos vamos a la carpeta Orígenes de Datos, en el Explorar de área de trabajo, y seleccionamos el origen que utilicen los elementos del panel dónde vamos a implementar el filtro. El origen de datos debe ser de tipo Multidimensional.

En el editor del origen de datos, acceder a la pestaña Tiempo:

image

En el desplegable dimensión de tiempo hay que seleccionar la dimensión que nos facilitará la información sobre el tiempo en los distintos elementos que formen parte del panel en el que queramos incluir el filtro.

En miembro de referencia seleccionar un miembro que defina la granularidad más baja, por ejemplo el día 15, Mar 2011

En nivel de la jerarquía seleccionaremos el nivel que identifique el miembro establecido en el miembro, en el punto anterior. Siguiendo el ejemplo establecemos Día.

En Fecha de referencia se elegirá la fecha correspondiente al miembro seleccionado: 15/05/2011 15/03/2011

image

Solo queda asociar los niveles de la jerarquía los niveles de agregación:

image

Y con esto finaliza la configuración del origen de datos necesaria  para implementar un filtro de tiempo.

Creación del filtro Inteligencia de Tiempo

Para crear el filtro hay que posicionarse en el dashboard dónde vayamos a utilizarlo y  podremos acceder al panel de Filtro (en caso de PerformancePoint 2007):

image

Iniciamos el asistente y seleccionamos la plantilla Inteligencia de Tiempo, utilizando el origen de datos que configuramos anteriormente.

image

 

Llegamos a la página del asistente que nos permite definir los elementos que aparecerán en el filtro escribiendo fórmulas. En este caso vamos a crear los siguientes:

image

Si pulsamos el botón de vista previa podemos ver como se generan los conjuntos  MDX formados por miembros de la dimensión de tiempo que se ‘esconden’ tras las fórmulas que hemos escrito.

image

Finalizamos el asistente e insertamos el filtro en el panel y lo conectamos con los elementos que contenga el dashboard.

Conclusión

Pues concluyendo hemos creado un panel con un filtro de tiempo que nos permite determinar qué periodos puede seleccionar el usuario

image image

 

Enlaces de interés

Crear un filtro mediante una plantilla de inteligencia de tiempo en el Diseñador de paneles

Acerca de la sintaxis de las expresiones de inteligencia de tiempo

Vincular filtros a cuadros de mandos e informes

 

Saludos.


3 comentarios:

  1. Hola Víctor, primero que nada, enhorabuena por el blog.

    Bueno, mi duda es la siguiente: He implementado el filtro de tiempo tal y como tú explicas en el post y todo funciona correctamente salvo que siempre toma como fecha actual la escogida en el miembro de referencia. Por ejemplo, si selecciono como miembro de referencia la fecha 01/01/2011 y creo una fórmula de tipo "Month" para mostrar el mes actual, siempre me muestra el mes de Enero de 2011, en lugar de mostrar el mes actual. ¿Es esto normal?.

    Saludos y gracias.

    ResponderEliminar
  2. Hola Jose, Gracias!

    No, no es correcto, debería mostrate el mes actual. Fíjate bien en que la fecha de referencia sea igual al miembro de referencia. Cometí un error escribiendo 15/05/2011 en lugar del 15/03/2011 (corregido).

    Espero que te sirva de ayuda. Si no es por esto, comentalo a ver que vuelta podemos darle.

    Un saludo.
    Víctor

    ResponderEliminar
  3. Efectivamente, era eso.

    Muchas Gracias por la ayuda.

    ResponderEliminar

Entradas populares