El problema del Excel

Spreadmarts
martes, 5 de junio de 2012

Si digo que el problema del Excel es que carece de un modelo semántico diréis que eso es una manía mía por ser un purista del BI tradicional, y que el Excel está muy bien (que lo está).

Trataré, pues, de explicarlo de otro modo. El problema del Excel es la complejidad para importar datos desde fuentes externas. Veámoslo desde un punto de vista práctico.

Las herramientas que ofrece Excel para importar datos son éstas:

Características Business Intelligence de Excel para importar datos.

Dentro de “otras fuentes” tenemos estas otras opciones:

Imporar datos desde otras fuentes en Microsoft Excel

Llama la atención, en primer lugar, la preferencia del Excel por las fuentes de datos de Microsoft, pero supongamos que tenemos la suerte de que nuestros datos efectivamente están en una base de datos relacional en SQL Server. Vamos a cargar los datos:

Asistente para la conexión de datos

Afortunadamente, conozco el nombre del servidor, y el modo de autentificación. Continuemos. Excel me sugiere cargar los datos directamente desde una tabla…

Permite, oh gracias, importar tablas enteras.

Lamentablemente, los chicos de IT no han preparado una tabla o una vista con los datos que yo necesito. Pero no me rendiré por eso, ya que afortunadamente tengo unas nociones de SQL que me permitirán escribir la query… Por lo tanto, desmarco la opción de “Conectar con una tabla específica” y le doy a “Siguiente”:

El resultado de guarda en un archivo ODC que se puede reutilizar.

Todavía no he podido poner la SQL que necesito, pero ya me ofrece guardar el “archivo de conexión”. Perfecto. Lo guardo, y le doy a “Finalizar”.

A pesar de que le he dicho que no quiero tomar los datos directamente de una tabla, Excel insiste en preguntarme por la dichosa tabla…

A pesar de que no quiero importar una tabla entera, lo vuelve a sugerir.

…tras coger la tabla de ventas (por decir algo), le doy a aceptar, y me pregunta donde quiero importar la información:

A pesar de todo, una vez tienes los datos, Excel es una magnífica herramienta Business Intelligence.

Como he cogido una tabla grande (más de 1 millón de filas), me muestra una advertencia:

La tabla es demasiado grande. Aparece una advertencia.

Para modificar la conexión recién creada, le doy al botón de “Conexiones” y me muestra el siguiente diálogo.

Esta ventana se añadió en Excel 2007, y permite administrar las conexiones de modo centralizado.

Un inciso: En este diálogo, siguen traduciendo “Add” por “Sumar” (en lugar de por “Nueva conexión” o “Agregar”). Pero eso es una nimiedad que no me desviará de mi objetivo. Le doy al botón de “Propiedades” y, por fin, podré escribir mi SQL:

Esta pantalla es, efectivamente, el generador de consultas de la herramienta Business Intelligence más utilizada.

Y esta pantalla es, efectivamente, el “generador de consultas” de la herramienta de Business Intelligence más utilizada del universo conocido. Es el mismo asistente, paso por paso, que el que teníamos hace 10 años en Excel 2003 (aunque seguramente viene de antes).

El anterior formulario es tan flexible como lamentable. Puedo poner libremente cualquier cadena de conexión (eso está bien), pero sin asistente (esto es malo). También puedo poner cualquier SQL (bueno) pero sin una mísera ayuda (mal).

Pero como a escribir al blog me vengo llorado, no me quejaré. De hecho, el formulario me viene de perlas para ejercitar mis dotes SQL…

Tras escribir la SQL en un pim pam, finalmente, los datos están ya en mi Excel, y puedo utilizar las potentísimas y amadas características de Excel para analizar los datos sin limitaciones…

Por fin, ya tengo mis datos en Excel.

Trabajar con datos externos es una tarea común en el día a día de cientos de millones de personas (¿me ha pasado?), y espero que este ejemplo haya servido para ilustrar lo complejo que resulta importar datos externos en Excel. Se mire como se mire es un procedimiento absurdo y 100% inaplicable para el usuario típico de Excel (usuario de negocio).

Repasad uno a uno los pantallazos de este artículo, y observad la marcada tendencia tecnológica de todos los diálogos. ¿Los usuarios deben saber el nombre del servidor? ¿es importante conocer, tal vez, la fecha en que los DBA crearon las tablas? Y esto me lleva inevitablemente a esta pregunta: ¿Es el Excel una herramienta dirigida a técnicos o a usuarios? ¡Pues no lo parece!

Los incondicionales de Microsoft Business Intelligence dirán que existen alternativas (PowerPivot, SSAS, ¿otras?), y tendrán razón, pero estarán obviando que el escenario descrito en este artículo es la problemática de la práctica totalidad de las empresas. Los datos corporativos están en bases de datos relacionales ya existentes y no hay manera fácil y rápida de que los usuarios puedan aprovecharlos. Salvo que tengan Bingo Excel, claro :-)

En próximos artículos trataré de describir que otras posibilidades ofrece Micorosft Bi para gestionar bien los datos, aunque agradeceré también que aprovechéis el nuevo sistema de comentarios para darme vuestra opinión y alternativas (que no impliquen prescindir del Excel, por favor).