domingo, 12 de octubre de 2008

QlikView: novedades generales en la versión 8.5

Hoy voy a escribiros las notas que tomé en la presentación de la nueva versión de QlikView del pasado martes en Valencia.


No me centraré en la parte del día que se habló del programa para partners y de la filosofía de Qlikview para con su relación con los clientes y partners. Únicamente hablaré de la última parte de la presentación, la parte más técnica, donde Jose Antonio Miguélez (un saludo) explicaba las mejoras de esta versión.

La primera sensación que recuerdo que me transmitió el evento fue de "desilusión" pues vimos pocas mejoras en esta versión, sobre todo si tenemos en cuenta que yo salto de las versiones 6.07 a la 8.x. Esperaba un cambio brutal al saltar 2 versiones pero el interfaz seguía siendo el mismo, el lenguaje de script el mismo, los objetos los mismos, y poco más.


De vuelta a Alicante comencé a "digerir" los conceptos de los que había hablado José Antonio en su ponencia y empecé a ver la luz al final del túnel. En 2 horas estaba en casa, con la versión 8.5 developer en mi portátil, y empezaba a trastear lo que había visto en la demo.

Esta sensación de la que había hablado antes de desilusión, comenzaba a transformarse en sorpresa y admiración. Sí que es cierto que visualmente habían mejorado muy muy poco, en lo que han hecho un esfuerzo importante la gente de Qliktech ha sido en la parte de detrás del telón, en el back-office, no porque hayan incluído 50 sentencias nuevas (no creo que lleguen a 10 las nuevas) sino por que han conseguido que todo sea dinámico, incluyendo las dimensiones y han incluido un set de instrucciones para el manejo de conjuntos que dota a Qlikview de toda la funcionalidad que se podría pedir (como lo llaman ellos SET ANALYSIS). Pero, ¿qué es esto de los conjuntos?, pues intentaré explicarlo lo más sencillo que pueda.


Set Analysis nos va a permitir comparar selecciones entre ellas mismas. Hasta ahora, Qlikview nos muestra los datos que tenemos seleccionados, reduciendo cada vez más según sumamos selecciones en ciertos campos, dejando fuera de la vista los datos excluídos ¿me seguís?. Si tenemos un documento con ventas de 2 años (2006 y 2007), y seleccionamos el valor 2007 para la dimensión AÑO, la suma de las ventas será igual a las ventas del año 2007 y todo el resto del documento estará filtrado a los registros relacionados con el año 2007, con lo que si tuviéramos una gráfica que nos comparara las ventas de estos 2 años, sólo mostraría la expresión para el año 2007.

Con "Set analysis" podemos tener acceso a cualquier conjunto de datos independientemente de las selecciones del usuario; selecciones para uno o más campos, bookmarks, y variables.

Introducen 3 operadores importantes :
  • {1}: significa el conjunto completo de datos del documento.
  • {0}: o conjunto vacío, sería equivalente a la selección de ningún dato.
  • {$}: la/s selección/es actuales. Ojo!, o una selección especificada por nosotros, no por el usuario (una variable, un bookmark, o un valor o varios para un campo).

Un ejemplo directo en QlikView:


La primera columna "Sum({1} Ventas)" : Calcula el total de las ventas para cada dimensión en todo el conjunto de datos sin selecciones

"Sum({1-$} Ventas)": Calcula el total de las ventas menos las selecciones actuales para cada dimensión.

"Sum({$} Ventas)": El total de ventas según las selecciones actuales (vamos, lo normal), para cada valor de la dimensión.

"Sum({$} Ventas )": El total de ventas según las selecciones actuales teniendo como referencia el año 2008 aunque no esté seleccionado, para cada valor de la dimensión.


Ojo en el ejemplo que tengo la dimensión "Nombre Tienda" seleccionada en un valor. Por eso aparecen las cifras "0" en las tiendas que no son "Alicante 1".

Tradicionalmente esto se podía conseguir (en parte) con el operador IF. Con la 8.5 debemos dejar de recurrir a este operador que es mucho menos eficiente (desde el punto de vista del consumo de memoria y de la velocidad de cálculo) que la lógica de conjuntos.


Hay un buen apartado de ejemplos en la ayuda del programa buscando como "análisis de conjuntos" donde explican de una forma muy buena todo el tema de conjuntos. Realmente interesante.


Ahora voy a citar una lista corrida de mejoras en la versión 8.x a mi entender importantes:
  • Servidor Web integrado en la solución server (no requiere IIS).
  • DSC (Directory Service Connector). Ya no se requiere AD de Microsoft, se puede conectar con otros LDAP.

  • DMS: Gestión Integral de documentos. Esto es realmente un logro y los usuarios os lo van a agradecer (aunque nos va a representar algún curro más). Lo que permite DMS es una centralización de todo lo que crea el usuario, ya no se guarda en el registro del usuario, en carpetas por ahí ocultas. Todo se centraliza, bookmarks, objetos, tablas, gráficos, personalizaciones, ...

  • Los objetos que el usuario crea (no el programador), pueden ser compartidos al resto de los usuarios (por decisión propia del usuario que es propietario de ese objeto).

  • Integración mediante OCX en software de terceros como por ejemplo un PPT (Power Point). (siempre que el usuario que lo abra tenga la licencia correspondiente del cliente).

  • Seguridad a nivel de campo.

  • Mejoras en la potencia de los informes (tampoco para tirar cohetes pero bueno).

  • Búsqueda difusa. Si el usuario maneja y conoce la definición de campos del documento pues se puede hacer búsquedas del tipo "pvp_articulo > 20 and pvp_articulo<40". Por supuesto, siempre que el coco del usuario de para esto ;-)

  • Dimensiones dinámicas: la bomba. Ya no tengo por qué definir varias gráficas (clonando) con diferentes dimensiones o crear grupos cíclicos y que el usuario elija de la lista. Podemos combinar como dimensión el uso de la expansión de dólar o utilizar una variable que el usuario puede definir en tiempo de ejecución, pudiendo así crear un objeto "reutilizable" por el usuario para distintos análisis. Pocas herramientas hay que te permitan hacer esto. Pensad bien quien se haya pegado con cubos OLAP, en el coste de cambiar la estructura de nuestros cubos, ¿qué tiempo tardamos en regenerarlo?,¿debe el usuario pasar por nuestro departamento/consultoría para hacer esa petición?. En Qlikview ya no.

  • Podemos abrir un documento con una selección determinada (por ejemplo un bookmark de documento) en base a la sección de acceso de nuestro documento. Imaginemos un departamento de compras con 3 compradores (uno compra lo referente a la sección de Gimnasio, otro la sección de Running, y el otro la sección de Bicicletas). Pues podemos filtrarle a cada uno el documento con sus secciones de forma predeterminada aunque luego él puede ver el conjunto de datos.

  • Por fin, han introducido el password en el editor de macros. Ya estarán a salvo nuestro código de macro. Una anotación, intentad huir de las macros en la medida de lo posible.

  • Podemos abrir un documento sin cargar los datos en el caso de algún error raro o que nuestro equipo donde desarrollamos no tenga suficiente RAM para cargar cierto documento y queremos rectificar el script.

  • Podemos cargar campos tipo imagen por ODBC e incluso reducir el tamaño en la recarga.

  • Podemos establecer con apenas un par de líneas de código, jerarquías "no-balanceadas" del tipo empleado-superior donde tanto el empleado como su superior se encuentran en la misma tabla. Sentencia "Hierarchy" & "BelongsTo".

  • Si empezamos a tener problemas de falta de memoria en alguna recarga o en el acceso, ya está disponible el software compilado para 64bits. Siempre y cuando tengamos una máquina que lo soporte y lo tenga habilitado.

Bueno, pues una vez más espero haberos ayudado en algo.

Un saludo a tod@s

QlikView: Análisis Dupont

Como primera entrega de ejemplos realizados con QlikView hoy voy a hablar de un cuadro de mandos para un departamento de finanzas o un directivo. Se trata de uno de los tantos métodos de representar el estado de una empresa de una forma rápida y clara y para ello he utilizado un análisis Dupont. Como conclusión decir que este tipo de análisis muestra cuantos € obtenemos por cada € invertido en la empresa.

Uno de los fines de este análisis es el poder comparar el estado de nuestra empresa con cualquier otra independientemente de la actividad de la otra empresa.


En la representación del panel he utilizado un componente de simulación que permite Qlikview y que nos da mucha potencia de análisis en los tiempos que corren ya que permite alterar ciertos parámetros de entrada como las existencias, deudores, acreedores, el margen bruto, costes, depreciaciones, etc porcentualmente y observar qué pasaría en ese caso. Esto es lo que se denomina comunmente "what-if analysis" o lo que es lo mismo en cristiano "qué pasaría si..." ;-).


Por dejarlo más ilustrativo el documento tiene una segunda hoja que nos permitirá alterar el umbral de color de cada elemento. Esto es, para el ejemplo de las existencias, los valores entre los cuales la burbuja de "Stocks" se coloreará en verde y que, fuera de este rango, se coloreará en rojo. La finalidad de esto no es otra que llamar la atención de nuestro directivo en aquello en lo que debe poner especial atención y entrar a profundizar en los datos referentes a la anomalía, no al resto. Es un ejemplo muy sencillo de ver las bondades que ofrece un sistema de BI frente al típico sistema de reporting.

Os pongo aquí una fotillo del análisis dupont realizado con QlikView. Por supuesto, no hacer caso a los datos ya que son ficticios (las finanzas no son mi especialidad ;-).

Por rizar el rizo, pues me he permitido el lujo de internacionalizarlo y que lo podáis ver en 2 idiomas, inglés y español.

Lo podéis descargar desde el siguiente enlace (descargar Ejemplo_dupont.rar).

Un saludo

jueves, 2 de octubre de 2008

Contribución: ¿En qué diferencias tú el Reporting del Business Intelligence?




Mi colega Ignacio Parres me ha enviado el siguiente mail y creo muy interesante su publicación a fin de plantear un debate abierto. Efectivamente, como bien dices, definiciones hay tantas como colores y lo que está claro es que no se suele coincidir en su definición. BI es un concepto que abarca demasiado y que incluye herramientas que lo complementan y, en ocasiones, no se sabe dónde empieza uno y acaba el otro. Sin más, os dejo con el debate que plantea Ignacio (gracias, Ignacio) en el que espero haya más contribuciones:

"Estimado Carlos, he estado leyendo tu blog, y realmente me ha gustado, por lo que me he animado a plantearte una cuestión: ¿En qué diferencias tú el Reporting del Business Intelligence?

Es un tema que considero importante, ya que el primer paso para implantar un sistema de información es disponer de conceptos básicos muy claros para explicárselos al cliente; y en este campo existen tantos puntos de vista como analistas.

Estoy recopilando definiciones de personas con experiencia en el mundo de los cuadros de mando, y creo que tú puedes aportar algo importante. Probablemente en nuestra web crearemos una nueva sección dedicada al BI, donde expondremos todos los puntos de vista que hemos ido recopilando, y, por supuesto, el nuestro.

Espero poder abrir una pequeña línea de debate contigo planteando la cuestión:¿En qué diferencias el Reporting del Business Intelligence? Evidentemente, y si a ti te parece bien, puedes publicar este email en tu blog; sin problemas (¡me habría gustado poder haberte escrito directamente en tu blog!).

Un cordial saludo,Ignacio Parres"

miércoles, 1 de octubre de 2008

Soluciones basadas en Excel

Hola de nuevo.
Dentro de todo el pupurri de herramientas relacionadas con BI, hay un grupo importante de ellas que se apoyan en soluciones de terceros con varios fines como por ejemplo, ETL, cubos, distribución de reportes, etc.

En este artículo quería hacer algunas opiniones sobre estas últimas, herramientas que utilizan MS Excel para hacer llegar la información al usuario que lo va a consumir. Una de las que más me ha llamado la atención ha sido la plataforma de la gente de ApeSoft y que, todo sea dicho, es una empresa española (esto me llena de orgullo ;-).

Cuanto más me meto en este mundo, más amplio veo que es y más herramientas y aplicaciones aparecen. Las hay de todos los precios y colores y es por esto que tenemos que ser conscientes del dinero que nos queremos gastar, el alcance de la solución, y el tiempo que disponemos para desarrollar.
Las empresas atraviesan fases y grados de madurez y no todas están preparadas para soportar un proyecto en toda su embergadura. Hay productos que cubren a las mil maravillas temas de reporting y su distribución sin llegar a ser monstruos. Pues hoy he visto uno de estos productos.

ApeSoft encaja perfectamente en todo tipo de empresas, desde la pequeña-mediana empresa hasta las gran empresa, e incluso empresas que ya cuentan en sus cuotas con grandes soluciones de BI como MicroStrategy, Cognos, etc. Sí, he dicho bien, ¿comprar una herramienta de BI teniendo ya otra herramienta de BI?, ¿cómorrr?.

Hay un aspecto negativo en toda solución de BI, el efecto multiplicador del coste de la licencia de usuario. Si nuestra empresa crece o necesitamos desplegar información a nuestros clientes finales, o a nuestra fuerza de venta, etc, entonces comienza a dispararse el gasto. Encima, la inmensa gran mayoría de los usuarios solo necesitan ver la información y cuanto más sencilla mejor. Aquí es donde entra fuerte ApeSoft, no pagas por el número de usuarios finales que la consumen y tampoco licencian por CPU (como hacen los grandes productos a un precio realmente alto).
El sistema es bien simple (que no cutre), un servidor planifica las consultas, las ejecuta, aplica filtros de seguridad, funde plantillas de MS Excel con los datos obtenidos en las consultas, y las envía por mail o a un servidor de archivos para que el usuario la visualice. Importante: el cliente no necesita un software específico vinculado al fabricante del servidor. Evidentemente MS Excel tiene un coste pero me confirma la gente de ApeSoft que es totalmente compatible con Open Office ;-). Un resumen de ventajas:

Ventajas
  • Coste 0 en ampliación de licencias una vez comprado el producto.
  • No se licencia por usuarios ni por CPU. Compras el producto y para.
  • El interfaz de programación realmente fácil y simple, pero potente a la vez.
  • Planificación del reporting.
  • Puede trabajar off-line o on-line. O bien envías la hoja de cálculo a un usuario por mail, o la dejas en un filer para que el usuario lo consuma a voluntad.
  • Nuevo servidor web para publicar los informes xls.
  • Todas las posibilidades en el cliente, que Excel o Calc poseen.
  • Gran conocimiento en los clientes finales de estas herramientas. Formación y soporte 0.
  • Arquitectura sencilla en cuanto a hardware: una única licencia de Excel y el producto instalado en un servidor

Inconvenientes

  • Las limitaciones implícitas en Excel: 65536 filas en Excel 97-2003 y OpenOffice 2.4, 1.048.576 en 2007.
  • Sin un poco de orden, podemos llegar a tener un pequeño caos en el servidor.
  • Costoso para un número muy reducido de licencias (entre 1 y 10 aprox.), pues te obliga a comprar el producto completo.

Conclusiones:

Si, al igual que yo, tenéis previsto un despliegue ambicioso en poco tiempo a nivel de volumen de usuarios, puede ser un complemento a tener en cuenta (no tiene porqué ser un complemento).

Las cosas, cuanto más simples, más sencillas (qué obvio, ¿no?)