La gente empieza a cansarse de Excel. Están hartos de las tablas dinámicas estáticas y la gente pide "dashboards interactivos y bonitos". Quieren hacer clics en los gráficos y que todo se filtre mágicamente.

Me he puesto a evaluar las dos herramientas que están revolucionando el mercado del Business Intelligence de autoservicio: QlikView (versión 11) y Tableau (Desktop 7.0).

Dos filosofías técnicas completamente distintas

A nivel de interfaz ambas parecen hacer lo mismo (dibujar gráficos coloridos), pero por debajo son animales totalmente diferentes. A los informáticos nos gusta destripar el motor antes de comprar el coche, y esto es lo que he encontrado.

QlikView: El motor asociativo en memoria

QlikView no consulta la base de datos cada vez que haces clic. Utiliza un lenguaje de scripting propio (muy parecido a SQL) para extraer todos los datos en bruto y comprimirlos en la memoria RAM del servidor utilizando un motor asociativo.

Esto obliga al desarrollador a programar el modelo de datos explícitamente en su editor.

// Script típico de carga en QlikView
Ventas:
LOAD 
    IdVenta,
    IdProducto,
    IdCliente,
    Importe
FROM [BaseDatosSQL] (sql);

// Resolviendo una clave sintética
Productos:
LOAD
    IdProducto,
    Upper(NombreProducto) as NombreProducto
FROM [Excel_Productos.xls] (biff);

Lo brillante de QlikView es que, al estar todo en RAM, cuando filtras por un "Cliente", automáticamente pone en verde los productos que ha comprado, en blanco los asociados y en gris los que no ha comprado. Calcula las relaciones matemáticas al vuelo en microsegundos. El contra es que la curva de aprendizaje del script es dura y, si tienes mil millones de registros, necesitas un servidor con cientos de Gigabytes de RAM.

Tableau: El rey del SQL visual

Tableau toma otro camino. Se conecta a la base de datos (sea SQL Server, Oracle o un cubo) y utiliza una tecnología patentada llamada VizQL. Básicamente, traduce cada acción de arrastrar y soltar un campo en la interfaz gráfica a una consulta SQL hiperoptimizada que lanza contra tu base de datos en tiempo real.

No tienes que picar código de modelado. Tableau es exquisito en lo visual; hace que gráficos complejos parezcan fáciles. Sin embargo, su rendimiento está directamente atado a lo bien optimizada que esté tu base de datos subyacente. Si tu SQL Server es lento, Tableau será lento (a menos que uses sus extractos .tde).

Reflexión: El peligro del autoservicio

Técnicamente, me encanta el control del modelo de datos que me da el script de QlikView, pero entiendo por qué los analistas de negocio babean con la interfaz de Tableau.

Esta transición de reportes IT a herramientas visuales de "autoservicio" marca un antes y un después. Estamos dándole el poder a los usuarios de negocio para que exploren los datos por sí mismos sin pedirnos permiso. Esto es fantástico para la agilidad, pero me aterra el peligro subyacente: un usuario sin conocimientos estadísticos arrastrando campos sin sentido en Tableau puede crear un gráfico precioso que muestre una correlación totalmente falsa. Ahora, nuestro trabajo no es solo picar código y mantener bases de datos, sino educar a la empresa para que no se pegue un tiro en el pie con estas nuevas herramientas.