Por mucho tiempo Excel ha sido una herramienta utilizada por los usuarios finales para hacer análisis BI en forma auto-suficiente. El mayor problema de Excel han sido sus limitaciones en cuanto a tamaño de los datos que puede almacenar y a la complejidad de los análisis BI que se pueden realizar. Así, cuando se topa con esta limitantes el usuario final no le queda otra alternativa que recurrir al departamento TI para que le soluciones el problema. Esto al final conduce al tema de siempre, hay que asignar personal TI para que analice con el usuario sus requerimientos, para después seguir con especificaciones técnicas y finalmente construirle una aplicación.
La buena noticia es que si usted usa Excel 2010 pude bajar sin costo el add-in PowerPivot con el que las típicas limitantes recién mencionadas pasan al olvido, y usted pueden entrar a disfrutar de una excelente herramienta de Self-Service Business Intelligence.
Que es o que realmente hace PowerPivot?
PowerPivot para Excel tiene la capacidad de llevar el Self-Service BI a un nivel sin precedentes. PowerPivot aprovecha lo familiar que es Excel para los usuarios, agregando un motor de análisis BI en memoria, junto a los nuevos algoritmos de compresión de datos que le permiten cargar grandes conjuntos de datos en memoria. PowerPivot técnicamente es la implementación de Vertipaq de MS, hoy con su nuevo nombre xVelocity, el cual se define como In-Memory Analytic Engine.
Con PowerPivot los usuarios pueden procesar enormes cantidades de datos a una velocidad increíble. Mediante el uso de las expresiones de análisis de datos (DAX nuevo lenguaje), además de las características estándar de Excel, los usuarios avanzados pueden crear fácilmente aplicaciones de mayor complejidad que se basan en relaciones entre tablas de una base de datos proveniente de diferentes orígenes, o bien tablas o planillas Excel mantenidas por usted en su computador. En muchos casos, PowerPivot para Excel puede establecer las relaciones entre las tablas de forma automática, y cuando no es posible usted las podrá establecer fácilmente sin complejidad de formulas.
Praxis
Para ilustrar mejor lo antes dicho, a continuación les muestro un caso de estudio probado con una base de datos que incluye una tabla de 10.000.000 de transacciones (TxMaster), y tres tablas relacionadas: Categorías de Productos (ProdCat), Productos (Prods), y Tiendas (Stores). Todas estas tablas son mantenidas en una base de datos SQL Server.
Partamos con el resultado final conseguido después de haber conectado a una base de datos SQL Sever para cargar los datos, establecer las relaciones, y finalmente armar el cuadro de análisis, gráfico y filtros (Segmentación de Datos).
Si miramos que cosas nuevas se ven en la seccion de menus de Excel, podemos ver una pestaña PowerPivot y como primera opcion al lado izquierdo el ítem Ventana de PowerPivot. Si hacemos click sobre esta última accedemos a la nueva sección de PowerPivot, que es realidad donde haremos todo el manejo de los datos que serán utilizados por la planilla Excel vía una Pivot Table (Tabla Dinámica).
En la siguiente imagen tenemos seleccionada Vista de Datos, y en particular la tabla TXMaster con sus 10 millones de transacciones (cargadas en la memoria del computador, en este caso un modesto Notebook con Intel Core Duo y 4Gb memoria). En las pestañas de abajo puede navegar por las diferentes tablas relacionadas.
Hay que hacer notar, que usted puede agregar columnas a cualquier tabla que haya cargado. Basta ubicarse bajo la columna Agregar Columna y luego ingresar la formula. Estas formulas son parecidas a las formulas de Excel pero no hacen referencia a celdas en particular, sino que a campos de la tabla, otras tablas, o funciones de calculo del nuevo lenguaje DAX. Por ahora, no entraremos en estos detalles, que realmente se merecen un nuevo post.
La siguiente imagen muestra la tabla de Productos.
Si hacemos click sobre Vista de Diagrama veremos el diagrama con las relaciones entre las tablas que estamos utilizando.
Lo interesante es que dentro de este diagrama usted puede hacer mucho, como por ejemplo, crear jerarquías como en este caso Categoría/Producto. También, entre otras cosas, pude definir sus KPI, y lo mas importante en la sección Obtener Datos Externos, puede virtualmente agregar datos de donde quiera (SQL Server, Oracle, DB2, etc., etc.).
Si volvemos al Dashboard, este fue creado usando la opcion Tabla Dinamica o Pivot Table, aplicada sobre el diagrama de datos.
En este Dashboard hay cuatro elementos importantes para destacar. El primero es la Lista de Campos PowerPivot, es decir, el conjunto de medidas y dimensiones para el análisis de nuestro cubo, el cual es desplegado automáticamente al crear la Tabla Dinamica. No vamos a entrar en detalles de como armar la tabla de análisis y el gráfico, pero esto se consigue con la simple acción de arrastrar y soltar los campos de las tablas sobre las secciones de Etiquetas de Filas, Etiquetas de Columnas y ∑ Valores.
En cuanto al archivo Excel, este ocupa una gran cantidad de espacio, ya que todos los datos de sus tablas serán almacenados en el archivo. Ahora bien, PowerPivot tiene muy buenas tasas de compresión de datos, en este caso el tamaño final del archivo Excel fue de aproximadamente un 62% del tamaño que ocupan las tablas en SQL Server.
Lo importante es indicar que todo lo usted ha definido en PowerPivot no se pierde cuando usted necesita Actualizar sus datos, es decir, volver a cargas los datos fuentes para incorporar ya sea nuevos registros o actualizaciones de datos de sus tablas. PowerPivot aplicara las relaciones de datos ya definidas, para luego re-calcular las columnas agregadas y así obtener los datos actualizado para sus cuadros de análisis.
Bueno, para terminar solo agregar que esta es una muestra de lo que puede hacer hoy con PowerPivot para Excel, sin entrar en mayores detalles. Como podrán haber visto, PowerPivot es una real oportunidad para entrar al mundo de lo que se llama Self-Service Business Intelligence (Autoservicio de Inteligencia de Negocios).