Desde hace ya bastante tiempo, está disponible como descarga gratuita PowerPivot for Excel 2010 (ver enlace de descarga al final del presente artículo), un Add-in para Excel 2010 que mejora la funcionalidad de nuestras queridas PivotTables y PivotCharts de Excel. Téngase en cuenta, que este Add-in sólo está disponible para Excel 2010, aunque un usuario de Excel 2007 podría abrir un libro de Excel 2010 con PowerPivot (pero no podrá interactuar con dicho libro, en lo que a PowerPivot se refiere: se ve, pero no se toca ;-).
Inconvenientes de PivotTables y PivotCharts (antes de PowerPivot)
La realización de tareas de análisis con las PivotTable y PivotChart de Excel, aun siendo una funcionalidad fantástica de producto para labores de Análisis y Reporting, tiene algunos inconvenientes.
- Si trabajamos con datos almacenados en Excel, el usuario tendrá que buscarse la vida para cargar y consolidar esos datos dentro de Excel, y además, luchar con los límites propios del producto, como no poder superar un millón de filas en Excel 2010 (que son muchas filas, pero para cargar y analizar grandes cantidades de datos, se puede quedar corto).
- Si trabajamos con datos almacenados en un Data Warehouse, el usuario dependerá de que los datos estén modelados y disponibles (cargados) en dicho Data Warehouse. Si no es así, un equipo de desarrolladores deberá realizar el correspondiente diseño e implementación, para incluir en el Data Warehouse el correspondiente modelo de datos (Relacionales y/o Multidimensionales/OLAP), procesos de carga y transformación de datos (ETL), etc. Además, en ocasiones los usuarios pueden requerir realizar análisis con datos que nunca formarán parte del Data Warehouse, juntar datos del Data Warehouse con datos de fuera, etc.
PowePivot for Excel se introduce como una solución a estos inconvenientes, para lo cual, utiliza una instalación local de Analysis Services que se ejecuta in-process dentro de Excel (es decir, no se crea un nuevo Servicio de Windows para Analysis Services, como ocurre con PowerPivot for Sharepoint).
¿Qué es Analysis Services?
Analysis Services es la Base de Datos Multidimensional de Microsoft (equivalente a EssBase, por poner un ejemplo), que se entrega dentro de la suite de productos de SQL Server, disponible desde hace más de 10 años.
Ejecutar consultas e informes de análisis sobre bases de datos relacionales que almacenan cientos de millones de filas, es una tarea costosa, que puede aliviarse de forma extrema utilizando una base de datos multidimensional. Dicha base de datos multidimensional puede cargar y/o procesar estos datos relacionales, generando y almacenando los resultados agregados que puedan interesarnos para estas labores de análisis. De este modo, cuando un usuario pida un dato agregado a la base de datos multidimensional, al disponer ya de esta información (pues fue cargada, procesada y calculada previamente), el tiempo de respuesta y consumo de recursos será mínimo, proporcionando una excelente experiencia en el análisis.
Evidentemente, las bases de datos multidimensionales en un Data Warehouse corporativo deben ser cuidadosamente diseñadas por personal especializado, optimizando al máximo los procesos de carga, el almacenamiento utilizado, el rendimiento obtenido, etc.
PowerPivot for Excel: Analysis Services for the Masses
PowerPivot for Excel, utiliza una instalación local (en el equipo del usuario) del motor VertiPaq de Analysis Services de forma transparente, que se instala como parte de la instalación de PowerPivot, y también proporciona un interfaz simplificado a través de la cual, sin darnos cuenta, estamos modelando de forma rápida y sencilla una base de datos de Analysis Services (y lo más importante, de forma transparente, sin darnos cuenta). La interfaz de la que hablamos, consiste principalmente en la barra de botones de PowerPivot, así como en la propia ventana de PowerPivot (PowerPivot Window).
Así, al utilizar esta instalación local del motor VertiPaq de Analysis Services, PowerPivot evita los límites de Excel (como el millón de filas) y también evita la dependencia de un Data Warehouse corporativo pudiendo nosotros mismos (o mucho mejor, los propios usuarios de forma autónoma ;-) importar sus datos en PowerPivot.
Es posible importar datos en PowerPivot desde diferentes orígenes de datos, desde simplemente copiar y pegar, pasando por obtener datos directamente de Excel (ej: utilizando la opción Create Linked Table), hasta datos disponibles en bases de datos relacionales o multidimensionales, Web Services, o ficheros de texto. Cada vez que importamos datos en PowerPivot, estos datos forman una Tabla de PowerPivot, de tal modo, que podremos tener múltiples tablas, relacionarlas entre sí, etc. Además, el proceso de importación se realiza desde un Wizard, para simplificar así dicha tarea.
Debe tenerse en cuenta, que una vez se han importado los datos en PowerPivot (momento en el que se habrán convertido en tablas de PowerPivot), no podrán ser modificados en PowerPivot, por lo que la única alternativa es modificar los datos deseados en el origen y refrescar en PowerPivot la correspondiente tabla (al refrescar una tabla de PowerPivot, se volverá a cargar de nuevo desde su origen).
Con todos los datos necesarios ya importados en PowerPivot (formando tablas de PowerPivot), podemos modelarlos mínimamente. Por ejemplo, podemos relacionar las diferentes tablas de PowerPivot (conceptualmente similar a crear Foreign Keys), utilizando los botones Create Relationship y Manage Relationship. También podemos cambiar el tipo de dato y/o el formato de las columnas importadas, crear columnas calculadas utilizando Data Analysis Expressions (DAX), etc.
Llegados a este punto, desde la botonera de PowerPivot, podemos utilizar el botón Report para crear una nueva PivotTable y/o PivotChart basados en PowerPivot. Con nuestra PivotTable y/o PivotChart en marcha, estamos en situación de poder crear las medidas (Measures) que deseemos utilizando Data Analysis Expressions (DAX), desde el botón New Measure de la botonera de PowerPivot. Una vez creadas nuestras Medidas, podemos empezar a jugar con nuestra PivotTable y/o PivotChart, seleccionando las Medidas que deseemos, los campos que deseamos utilizar como filas o como columnas de nuestra Pivot, los campos que deseamos utilizar como Slicers, los campos que deseamos utilizar como filtros, etc.
Está claro, que con PowerPivot no tendremos toda la potencia de Analysis Services. Es decir, el nivel de detalle que podemos llegar a tener sobre el diseño de un Cubo de Analysis Services desde Visual Studio, es con diferencia mucho mayor que el nivel de detalle que tenemos en PowerPivot. Sin embargo, aun así, en muchos casos PowerPivot puede ser de mucha ayuda.
Otro tema a tener en cuenta, es que la potencia del Hardware de las actuales estaciones de trabajo y portátiles (un Intel Core i7 con 8GB está al alcance de cualquiera), es más que suficiente para ejecutar este tipo de tareas, y además, liberamos de este trabajo al Data Warehouse corporativo.
Enlaces de Interés
A continuación se incluyen algunos enlaces de interés relacionados con PowerPivot for Excel 2010.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.