Una XBOX gigante.

25 02 2008

Al salir de una reunión en donde habíamos revisado la aplicación y después de haber mostrado las capacidades de Drill-down de la herramienta, recibimos el siguiente comentario por parte del director de compras.

«¡Rayos! Puedes hacer análisis por cualquier variable, ¡eso está genial». Se detuvo a pensar un rato y continuó: «Esto es como una xbox gigante, puedes jugar y jugar con la información. Miren, yo lo que necesito es que mis compradores compren no que anden jugando…¿se puede restringir el drill-down a ciertos usuarios?»

Es un comentario muy importante que pareciera estar en contra la lógica universal al evitar el empowerment del usuario. Hay mil cosas que se pueden decir a favor o en contra. Por lo pronto lo dejaremos así para propósitos del post.

En una empresa habrá siempre distintos tipos de perfiles. Estarán las Direcciones o gerencias que tomen decisiones, habrá gente que siempre se enfocará a analizar información (por ejemplo, Mercadotecnia) y otras que operen en base a la información mostrada. El líder de BI nunca debe de perder de vista el papel que juega cada persona en la empresa; y como este comentario dice, a veces será necesario restringir cierta funcionalidad de tal manera que la gente no pierda el foco sobre el objetivo de su trabajo.

En Artus, donde los tableros de control combinan de manera natural las fuertes capacidades de análisis OLAP esto es importante.

Si queremos deshabilitar ciertas funcionalidades en Artus, solo hay que localizar en Artus Administrador en la parte de seguridad al usuario que deseamos restringir y le damos 2 clic.

RestringirFuncionalidad

Solo hay que desactivar las 2 primeras casillas. Otra opción sería desactivar la casilla de power user pero esa opción es mucho más restrictiva que la primera.

La funcionalidad no es lo único que se puede restringir en Artus. Con la seguridad de Artus por usuario o grupos de usuarios, se puede:

  • Decir que tableros si o no pueden ver los usuarios.
  • A que indicadores o métricas, físicas o lógicas, pueden acceder los usuarios (lo que otros proclaman a “nivel campo”)
  • Que dimensiones estarán disponibles. Por ejemplo, para ciertos usuarios no quiero que puedan hacer drill-down por tienda pero sí por ciudad.
  • Por valor de una dimensión. Por ejemplo que puedan hacer drill-down por ciudad pero que solo puedan ver la ciudad de Monterrey.
  • Especificar jerarquías o no al momento de navegar. Esto es que al hacer drill-down tenga que seguir un camino pre-establecido: primero por país, luego por ciudad y luego por tienda.
  • Que ciertos indicadores sean navegables por ciertas dimensiones
  • Si el drill-trough (indicadores en línea) estarán disponible.
  • Si los usuarios pueden o no modificar los tableros en runtime.
  • si pueden si no calendarizar envíos de información por correo.
  • Uilizar la seguridad LDAP o de SAP para implementar un single sign-on ( ejemplo:que se puedan firmar con el mismo usuario y password de Windows o SAP en la aplicación. Windows o SAP se encargarán de validar el usuario, Artus de restringir la información que pueden ver)
  • Si pueden Administrar, diseñar tableros o solo consultarlos
  • si pueden si o nó exportar información. (por ejemplo que no puedan exportar datos a PDF, Excel u OpenOffice).
  • Si pueden utilizar análisis colaborativo (los usuarios pueden enviarse consultas no planeadas entre ellos usando mensajes).

La lista es más larga. Estoy seguro que encontrarán siempre la manera adecuada de restringir o nó lo que deseen.





Artus Web Parts

31 01 2008

El post anterior es un perfecto ejemplo de lo que es un Web Part. Se pueden tomar controles de Artus e integrarlos a un tercero, como por ejemplo: Share Point, Power Point o un portal.

Un ejemplo más sofisticado que el anterior sería integrar componentes de Artus al portal de la compañía; de tal forma que mis clientes o proveedores puedan acceder a través del portal la información de los cubos de la compañía. Por ejemplo, un fabricante de galletas pudiera consultar las ventas o el inventario directamente en el portal. Podría hacer drill down por tienda, por día, por familia, por categoría; o podría comparar las ventas de este mes vs. el mes pasado o el año pasado.

Ahora ponganse en los zapatos de la compañía que puede proveer información valiosisima a sus proveedores del comportamiento de sus productos en línea…o en los zapatos de la compañía que vende galletas que en vez de conformarse con una hojita de excel con las ventas por producto ahora puede analizar en línea sus ventas y al día, ahora puede reaccionar al día y al momento.

Esto es una solución extremadamente poderosa para las compañías. Se incrementan las ventas y se reducen los costos en ambos lados.

El ejemplo mostrado en el post anterior muestra la manera light de hacerlo; la cual como ven es muy fácil ya que en 4 pasos he integrado un componente de Artus a Power Point. Sin embargo, Artus provee una manera mucho más sofisticada de hacer esto. Se le puede al momento de llamar el componente pasarle como parámetro el usuario con el que se desea se ejecute la consulta, pasarle algún filtro o fecha, se puede cambiar el componente o graficar la información.

Para ver ejemplos de scripts de como hacer esto dirijanse al manual de Artus WEB HTML. En el Anexo 1: “Ejecutar el servicio de Artus Web HTML con parámetros”; encontrará lo que busca.

Technorati tags:




Acelerando el tiempo de respuesta en los cubos ROLAP con Artus

17 01 2008

UsarClavesEnFiltros

Este pequeño check-box que se encuentra al darle clic-derecho sobre un cubo y luego seleccionando  “conectividad” define como Artus construirá el where de la instrucción SQL que lanzará sobre el cubo.

Si el check-box está activado la instrucción será:

where idCliente = 5978

Si está desactivado

where NombreCliente = ‘Bitam’

La diferencia es si las busquedas las hará por clave o por el campo descripción de la dimensión. Hay una GRAN diferencia en el desempeño entre una  y otra opción.

El default es que esté activado pero vale la pena revisarlo.





Máximo numero de valores a graficar

17 01 2008

GraficaPesada

¿Que pasa si al desglosar las ventas por cliente obtenemos una tabla con 10,000 renglones y esa tabla la graficamos?

Pues lo que obtenemos es un batidillo completamente ilegible. Son tantos valores que solo se aprecia una mancha donde debiera ser una gráfica agradable. Esto además de esperar un buén rato a que termine de graficar.

Esto en Generación V y VI se ha mejorado. En el Administrador de Artus se puede configurar el máximo # de valores a graficar.

MaximoSeriesPorGraficar

IMPORTANTE: El default es de solo 50 valores. Esto quiere decir que si la tabla tiene 10000 renglones y la grafico, entonces solo me mostrara una gráfica de los primeros 50 renglones. ¿donde están los demás? Pues se tendría que incrementar el valor en dicha pantalla. También se puede limitar el # de series a graficar.

Grafica30valores

¿Qué diferencia verdad?

Para los atormentados ¿qué caso tiene graficar todos los valores si la gráfica no será legible?

Technorati tags:




Indicador Calculado con Múltiples Cubos

8 01 2008

En las versiones V y VI de Artus es posible hacer un indicador calculado usando indicadores de diferentes cubos.

MultiplesCubos

Lo único que hace que hacer es activar la casilla Indicador Avanzado; al hacerlo en la lista de indicadores muestra todos los indicadores pertenecientes a los cubos ROLAP.

Ya está, solo hay que escribir la fórmula.

Hay que aclarar que para que funciones los cubos involucrados en la fórmula deben de compartir una dimensión. Solo se puede navegar o hacer drill down por aquella dimensión que comparten los cubos

Antes se tenía que poner el mismo indicador en cada cubo donde se ocupara para una fórmula teniendo con esto 5 o seis versiones del indicador. Ahora con una sola copia es suficiente.

También ayuda bastante a resolver el problema de indicadores con diferente dimensionalidad. Ahora puedo poner dichos indicadores en diferentes cubos. Artus al momento de hacer la consulta hará lo que tenga que hacer para cruzarlos.

Technorati tags:




Indicadores Lógicos en Artus

11 10 2007

IndicadoresLogicos

En Artus es posible crear indicador lógicos a partir de los indicadores que tiene el cubo. Los índicadores lógicos son cálculos entre los indicadores que físicamente están en el cubo. Esto me permitirá crear cálculos entre indicadores que el usuario podrá usar como un indicador más.

Para crear un indicador lógico solo hay que darle clic al cubo y seleccionar la sección indicadores. Observe que hay un indicador lógico por cada indicador físico en el cubo. Si le da 2 clic puede cambiar la definición de estos indicadores lógicos, aunque la mayoría de las veces lo único que se hace con ellos es cambiarles el nombre y el formato.

Oprima nuevo o insert para crear un indicador lógico.

PantallaIndLogico

En esta pantalla:

1. Es el nombre que le desea dar al indicador. Trate (oblíguese) a que sea un nombre amigable. Mientras más amigables sean los nombres más amigable se volverá la aplicación. Nomás compare: Tot_Fact vs. Ventas Totales M.N.

2. Si el indicador va a ser divisible o no. En el designer usted tiene disponible un componente (filtro divisor) que le aplica divisiones a los indicadores, por ejemplo mostrar en miles o millones. Active esta casilla si desea que el indicador que está creando pueda ser afectado por el filtro divisor.

3. Disminuir. Si usted va a usar la opción de variaciones en la tabla dinámica, esta opción invierte el sentido de la flecha (más bien el color verde por rojo y rojo por verde) para que los crecimientos tengan sentido negativo (o sea que crecer no es bueno).

4. Sirve para establecer un inicio al indicador

5. Sirve para asociarle una meta al indicador. Las metas las toma de los valores que usa en las condiciones de las propiedades (alarmas) La tabla dinámica de Artus y los análisis empresariales (drill down) utilizan estos 2 servicios para hacer ciertos cálculos por usted con un solo clic. Investigue por ejemplo al darle drill down a un indicador para que sirve la consulta monitor de desempeño.

6. La lista de los indicadores lógicos que están disponibles para ser usados en la fórmula del indicador.

7. Activa la opción de crear indicadores calculados usando indicadores de diferentes cubos. O sea que puede crear un indicador que sea la división del inventario (del cubo de inventario) entre las VentasDiarias del cubo de comercial. El requisito para que esto funcione es que los cubos compartan una dimensión.

8. La parte más importante de todas. Aquí escribe la fórmula del indicador. Puede dar doble clic sobre los indicadores de 6 para incluirlos en la fórmula (o si prefiere, puede escribirlos) Aquí por ejemplo escribiría: {Ventas} / {Objetivo}

9. Un campo maravilloso y olvidado. Descripción. Utilícelo para documentar su indicador. El usuario final tiene acceso a esta descripción al darle 2 clic a un indicador.

10.  Al hacer drill down que me va a mostrar por default ¿todos?¿Los mayores a cero?….

11.El pareto de cuanto va a ser. El default es 80 (para el 80-20) Esto se utiliza en la tabla dinámica dándole clic derecho sobre un indicador y luego seleccionando la opción pareto.

12.Si el aplicarle un filtro al indicador en la tabla dinámica lo va a resolver en el servidor de base de datos o en la aplicación. Siempre es mejor que lo resuelva en la base de datos.

13.Si el indicador va a poder usarse en la ventana de drill down (análisis empresarial de Artus) No así en el designer (en el designer siempre lo vé) Esto es útil si quiere esconder ciertos indicadores sensibles de manera global. Si nó es de manera global y solo quiere esconderlo para un usuario grupo de usuarios mejor ocúltelo desde el módulo de seguridad.

14.Si este indicador va a actuar como INDICE NACIONAL DE PRECIOS AL CONSUMIDOR, o sea Inflación. Se utiliza en conjunto con un operando para inflacionar el indicador o nó.

15.Si es un indicador de tipo inventario, o sea que no me sume el total del periodo sino me dé como resultado el valor del último día del periodo. Es algo parecido al LAST PERIOD de Analysis Services.

16. Qué dimensiones estarán disponibles para este indicador. Esto las desactiva de manera global. Si usted quiere ocultar ciertas dimensiones a ciertos usuarios o grupos de usuarios haga esto desde la parte de seguridad

17. El formato que usará Artus para desplegar el indicador.

18. Si quiere desplazar el indicador un periodo y de que tipo. Por ejemplo si selecciona mensual y -1, entonces cuando en una celda o tabla muestre el indicador siempre le mostrará el mes pasado al mes que la tabla o celda tenga. Muy útil para construir un indicador Ventas Mes Pasado sin necesidad de añadir este campo a la tabla de hechos.

19. La madre de todas las fórmulas. Al darle clic aquí se tiene acceso directo al código SQL o MDX que Artus usa en el indicador. Si sabe SQL o MDX eso quiere decir que puede modificar usando el respectivo lenguaje el indicador. El único requisito es que lo que ponga ahí sea válido para el motor de cubos que está usando (use “case when” para SQL de SQLServer de Microsoft y “decode” para  Oracle e “iif” para MDX). Nomás no meta la pata Winking

Cuando termine de crear el indicador, no olvide seleccionar a que grupo de indicadores se asignará este (o estos) nuevo indicador. Tiene que darle permisos a los usuarios para que lo vean.

Technorati tags:




Artus y Microsoft Analysis Services

10 09 2007

Conectar Artus a Microsoft Analysis Services para explotar la información de los cubos de Microsoft es sumamente sencillo. Lo único que necesitamos es Artus V y acceso a la base de datos de cubos que deseamos consultar.

Si tiene una versión anterior a V aquí tiene un tutorial para versiones anteriores a V.

Artus es un excelente cliente OLAP para explotar la información de estos cubos. Y lo mejor es que no necesita saber ni un poquito de MDX para terminar una aplicación completa de tableros de control o cuadros de mando; sigue teniendo el drill down y además mucha funcionalidad adicional. Y funciona en el WEB.

Antes de hacer esta conexión, por favor, intente conectarse desde la maquina donde hará la conexión de Artus a los cubos de Analysis Services con el Analysis Manager o la aplicación MDX Sample Application (o su equivalente en 2005) al servidor de cubos que quiere accesar. Compruebe que puede ver el cubo. Si con las herramientas de Microsoft no puede conectarse a los cubos de Microsoft con Artus menos. ¿Me explico?

Comencemos.

Mapeo1

Leer el resto de esta entrada »





¿Qué es Artus?

6 08 2007

Artus es una herramienta muy poderosa para la explotación de un Data Warehouse y Cubos. Es de uso muy sencillo y fácil de aprender.

Usted obtiene como resultado final de la herramienta unos tableros de control o cuadros de mando muy agradables desde donde el usuario puede monitorear fácilmente la información. 

TableroUno

La parte de dril-down es bastante completa y poderosa.

Puede ver a los modelos estrella y copos de nieve como si fueran cubos (o sea que físicamente no crea cubos si no que le tira queries SQL a esos modelos), por lo que es el cliente perfecto para Data Warehouses hechos en Microsoft SQLServer, Oracle, RedBrick, DB2, Sybase IQ (y cualquier otra base de datos utilizada para construir Data Warehouses usando el modelo estrella o copo de nieve) . Es un excelente cliente de: Microsoft Analysis Services, SAP BW, Microstrategy, DB2 Cube Views, White Light, ESSBASE y Hyperion. Lo mejor de todo es que en la misma pantalla puede combinar información de todos esos proveedores.

TableroDos

Los usuarios no requieren instalar absolutamente nada en sus maquinas, pueden consultar sus tableros vía WEB. El servidor de Artus WEB funciona bajo IIS o Apache, bajo una plataforma Windows, Unix o Linux.

Hay una lista parcial de clientes que usan la herramienta aquí (donde también puede ver una demo en línea).

Artus es una herramienta desarrollada por BITAM.





El modelo estrella

1 08 2007

Hay 2 modelos para crear un Data Warehouse, el modelo estrella o el copo de nieve. Yo prefiero el modelo estrella, ya que el tiempo de respuesta que provee es más rápido y hace que el servidor trabaje menos.

El concepto de Estrella es bastante sencillo. Hay que diseñar las tablas usando una tabla central para los hechos, tablas para los los catálogos y una tabla de tiempo.

ModeloEstrellaSales

El meollo del diseño de las tablas en el modelo estrella está en los catálogos. Tiene que poner en una sola tabla todo aquello que se pueda deducir del elemento más granular de la tabla y que está más abajo en la jerarquía.

Por ejemplo, si usted tiene un catálogo de productos, el elemento más granular es el producto ¿qué se puede deducir del producto? Pues la marca, el empaque, la presentacion (botella de cristal, PET no retornable, aluminio, etc.), la familia (bebidas), la subfamilia, la categoría, la subcategoria, el color, la talla si aplica, etc.

Bueno pues todo esto se coloca en la misma tabla.

El campo llave de esa tabla es el product_id (la llave de producto) por que producto (product) es el elemento más abajo en la jerarquía o más granular. Vealo de esta forma: una marca tiene productos, la familia agrupa productos, la subfamilia igual, la categoría igual, el color igual. El producto es el único que no agrupa a nadie, entonces esa es la la llave.

Si usted le hiciera un select a ese catálogo de productos el resultado sería el siguiente.

ResultSetEstrella

Puede ver que en el mismo registro se almacena el producto, la marca, la subcategoria, el departamento, la familia, la categoria. Todo lo que se puede deducir del producto está ahí.

Lo mismo pasa con las tiendas. De la tabla de tiendas (ver tabla Stores en el diagrama) se puede deducir la region y el pais al que pertenece. Entonces pais y región los pongo en la misma tabla que tienda.

Para mejorar todavía más el tiempo de respuesta coloque en la tabla el campo llave y el descriptor como se muestra en la siguiente imagen.

ResultSetEstrella1

Si hace esto en el query SQL que escriba para obtener datos de la estrella podrá usar:

where
   IdBrand = 15

en véz de:

where
   Brand = ‘Washington’

Tendrá un mejor tiempo de respuesta si usa llaves. Entonces siempre en los catálogos ponga además de los descriptores el campo llave de cada descriptor.

TIP: Si está pensando crear un cubo con los Analysis Services de Microsoft usando esta estrella, el poner la llave en la estrella hace que el cubo se reduzca de tamaño y el tiempo de respuesta se acelere. Solo tenga cuidado de que al crear la dimensión, en propiedades de la dimensión ubique y use la propiedad “llave de la dimensión”.

TIP: Para las llaves trate de que siempre sean numéricas y de no usar llaves compuestas.

TIP: Si va a seguir el tip anterior, puede ayudarse poniendo en los catálogos además de la nueva llave inventada por usted, la llave original para la dimensión. Yo siempre las identifico con Id y Cve, la que termina en ID es inventada por mí y la que termina o comienza en CVE es la original.

¿A partir del producto yo puedo deducir en que tienda se vendió? Suponiendo que hablamos de supermercados y en cada tienda se pueden vender los mismos productos entonces la respuesta es NO, no se puede deducir qué tienda vendió qué producto. Esto se resuelve en la tabla de hechos poniendo ahí que producto se vendio (producto_id), en que tienda (store_id) y en que día (time_id).

Esto es el modelo estrella.

IMPORTANTE: No se quede con la idea que al hacer los catálogos redundantes va a desperdiciar todo el disco duro. La redundancia es solo en los catálogos no en los hechos, usted puede tener un catálogo de 100,000 productos pero millones y millones de transacciones. Lo que hace que un datawarehouse crezca normalmente es la tabla de hechos. Si todavía está renuente y saca a relucir las reglas de Codd de normalizacion, para no entrar en polémica digamos que este es uno de los extraños casos donde lo que aprendió en la universidad lo puede tirar a la basura Big Grin.

Para complentar esto puede consultar los posts La tabla de hechos y Algunas recomendaciones para la tabla de hechos. Respecto a la tabla de tiempo (TimeDim) puede leer La dimensión tiempo y los otros campos de la tabla de tiempo.

Si quiere ver como convertir una estrella a un cubo puede consultar como hacer un cubo con Artus.





Haciendo un cubo con Artus

1 08 2007

ModeloEstrellaVentasChico

Entrando de lleno al tema, lo primero que se necesita para hacer un cubo con Artus es una estrella que contenga la información. Es decir, usted debe de construir unas tablas siguiendo el modelo estrella y llenarlo con datos. Un modelo estrella no es otra cosa que una tabla con catálogos.

Para hacer este tutorial previamente preparé un modelo estrella y para hacer más fácil esto, la puse en access y está disponible aquí. Bájelo y descomprímalo en un directorio que le sea fácil de recordar; luego cree un ODBC que apunte a esa base de datos. El que yo cree en mi máquina para el tutorial le puse el nombre de Estrella, igual que el nombre de la base de datos de Access.

A la izquierda puede ver el diagrama entidad relación de la base de datos. Es un pequeño ejemplo de ventas de un supermercado. Retail dirá alguien.

Por cierto, en la vida real Access no es una buena opción para almacenar estrellas. Normalmente usted usará un motor SQL más poderoso como Oracle, SQLServer o DB2 para esto. En castellano, en la vida real no ponga las tablas en access si no en un SQLServer, Oracle u otra base de datos relacional que tenga ahí a la mano. Si no me cree, ponga en una base de datos de access más de 1 giga de información.

Leer el resto de esta entrada »








Seguir

Get every new post delivered to your Inbox.