Usando indicadores de tipo fecha en Artus

16 12 2008

DimensionFecha

A veces se requiere usar la fecha como una dimensión, si tenemos el campo en la tabla de hechos, a lo mejor es la fecha de la factura, se puede añadir como una dimensión en una tabla dinámica. Lo malo es que si el campo es tipo datetime como se vé en la imagen la tabla me muestra la parte hora.

Una posible solución sería tener el campo con la fecha de la factura con el tipo varchar y dejarlo ya formateado. Si sucede como siempre que no podemos modificar la tabla de hechos tal vez una vista sería apropiado, pero si no podemos crear vistas ¿entonces que se puede hacer?

Todos los componentes de Artus están hechos para mostrar números en las columnas de indicadores, entonces lo que podemos hacer es convertir la fecha a un número de esta manera la podemos mostrar. Podemos crear un indicador lógico con la siguiente fórmula:

max(year( t1.TheDate )*10000 + month( t1.TheDate )*100 + day( t1.TheDate ))

Como los indicadores siempre llevan una función de agregación entonces le añadimos el max.

DimensionFecha1

La fecha la vamos a convertir a un numero con el formato YYYYMMDD, esto es 4 digitos del año, 2 del mes y 2 del día. Así el 31 de diciembre del 2008 será 20081231

Ya está, lo único que tenemos que hacer es usar un formato del tipo ####-##-## para que dicho número nos lo despliegue en 3 partes.

DimensionFecha2

¡Listo! Para consultas complejas recuerde que tiene una función de agregacion por lo que nos dará una sola fecha, una manera de darle la vuelta sería añadir la columna fecha como dimension y esconderla para provocar que Artus la incluya en el group by.








Seguir

Get every new post delivered to your Inbox.