Excel no es una base de datos

Es casi un mantra, no digo una religión porque esto está bien fundamentado técnica y teóricamente, Excel no es una base de datos, no nació para ello y, si bien se puede usar para guardar y consultar información, no es su objetivo.

El tema es ¿Qué es una base de datos al fin y al cabo? Desde una simple servilleta de papel con información escrita hasta un poderoso servidor con un motor SQL todo podría ser uno pero... Excel no, por dió, Excel no!

La anécdota la puede contar cualquier pibe de sistemas, un día te llaman de empresa X porque quieren hacer no se qué cosa y no les está andando bien su excelentísimo software que "usamos toda la vida" para realizar sus tareas.

Te podés encontrar con un sinfín de opciones pero en todas el criterio es el mismo, una persona que NADA sabía de software ni sistemas de información "Creó" un entorno de trabajo alrededor del único software que conocía y usaba. Este monstruo intergaláctico fue creciendo y devorando horas mentales de aquél osado individuo y adaptó esta plataforma a sus necesidades a un nivel de personalización que pocos podrían imaginar.

Así tenemos plantillas de Excel llenas de Macros que controlas los negocios de empersas de primera línea, que nadie documentó, nadie sabe qué hacen y, usualmente, no responden a ninguna lógica ni estandar de diseño. Pero funcionan.

Con funcionar nos referimos a que aparentemente cumplen con su función primordial pero si así fuere no te estarían llamando. Te llaman porque el monstruo cobró vida, ahora ha tomado conciencia de su existencia y "hace lo que quiere".

Todos los de nuestro oficio sabemos que es mentira, en realidad el monstruo no es que acaba de verse al espejo y tomar conciencia y razona, en realidad estaba moribundo y lo que sucede es que colapsó, murió y el usuario no sabe que está tratando de operar con un cadáver.

Mi más reciente encuentro con la abominación de "Excel devenido en software de gestión" fue un interesante caso en que el negocio dependía de un input de datos desde ciertas APIs que debían entrar al Excel.

El Excel recibía esto, calculaba algunas cosas y devolvía una lista de gente a llamar para que los vendedores pudieran hacer su trabajo. Para poder hacerlo a alguien se le ocurrió montarlo en un Sharepoint pero, he aquí la cuestión, esos datos que entraban no siempre lo hacían, se perdía un 20/30% de la información entrante que eran clientes potenciales.

Mi primer reacción fue WTF? Usan excel para esto? Y la respuesta fue la misma que uno encuenta en cada ocasión: "es que siempre funcionó, recién ahora empezó a fallar, no sé qué pasa, pero no lo queremos cambiar".

En esa frase siempre encontramos una mentira implícita y una inevitable reticencia al cambio. Siempre falló, desde su concepción, sólo que recién ahora lo notan porque los negocios empezaron a flaquear, y obvio que no quieren cambiar, eso implica un costo.

En la cabeza de todos los de sistemas, luego del facepalm imprescindible, aparecen miles de soluciones existentes hace decenas de años, CRM (Customer relationship management), ERP (Enterprise resource planning), SQL (bases de datos relacionales) y un sinfín de desarrollos que se utilizan en la industria pero requieren de, al menos, UNA persona que sepa.

Pero en este extraño mundo NADIE quiere pagar por lo que vale mejorar un proceso o negocio. La barrera no es tecnológica, es mucho peor porque no tiene que ver ni con la época ni los costos ni la ignorancia tecnológica sino con uno de los criterios más estúpidos que puede encontrarse: Cómo voy a pagar tanto por una cosa que ya estoy haciendo con esto otro que ahora falla pero quiero insistir en no gastar para no crecer y quedarme donde estoy :D

No se quiere pagar porque eso implica costo y ¿cómo lo justifico con mi jefe? Mirá, si estabas perdiendo el 30% de tus potenciales clientes ¿NO ES ESE TU MEJOR ARGUMENTO? Y si es el dueño el que se encuentra con el problema tampoco querrá gastar el dinero que hace falta porque no concibe la idea de invertir para crecer, quiere resolverlo con los recursos que YA paga.

Miren, todo bien con la idea de reutilizar recursos, pero por algo la secretaria es secretaria y no DBA con especializacón de intergación en ERP, PowerBI y la garcha, no es para lo que la contrataste ni mucho menos por lo poco que le pagas.

Por suerte, en mi caso, me encontré primero con el muro pero luego de verificarlo aceptaron que necesitaban un software de gestión y contrataron a una empresa (otra, no es mi negocio, no vendo CRMs y esos servicios) para modernizar todo su proceso que, al fin y al cabo, tan distinto a otros procesos no puede ser.

Por qué Excel no es una base de datos

Si todavía te sentís ofendido porque acabo de insultar tu genial XLS con Macros vamos con algunas cosas que hacen que cambies tu parecer (o cierres la boca :D).

Cualquiera que empieza a estudiar bases de datos se encuentra con un principio escencial: ACID

Acrónimo en inglés de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad, en español.

Se busca que cada transacción sea completa, que exista integridad de los datos, porque lo imprescindible es saber que esos datos son correctos y consistentes, que cada operación esté aislada de otra para preservar esa consistencia, y obviamente que los datos persistan.

Excel, como es una planilla de cálculo, no sólo no cumple con ACID, no es su intención y está bien que así sea.

La falta de consistencia en los datos es natural de una celda de Excel , no se guarda ni siquiera un historial de la información que está allí, no se sabe quién ni cuando ni por qué la cambió, si un día dice 5 y al otro 26, no hay forma de saber cuándo ni en base a qué criterio cambió.

Es más, Excel sirve para PROCESAR datos, por ejemplo, tomarlos de una base de datos, consistente y segura, y calcular un dato que nos sirva para luego tomar una decisión. La base de datos no tiene que tener la lógica, el Excel no tiene que tener los datos, separados funcionan fantásticamente bien.

En mi escenario de un archivo compartido en Sharepoint las dificultades eran mayores, en algún lado el proceso que cargaba los datos fallaba ¿Alguien conservaba un Log? No, obvio que no. Si un tercero modificaba el archivo ¿Quedaba registro? ¿Existía forma de volver atrás? No puede ser editado por varias personas a la vez sin provocar inconsistencia en los datos.

Tampoco es un software pensado para manejar datasets grandes ¿Cuántas filas creen que pueden manejar? Una base de datos puede tener, en una sola tabla, miles de millones de registros y consultar una sumarización de sus valores en microsegundos. Excel no.

Filtrar datos y segmentar es muy sencillo en todo motor SQL, un query a la base de datos te va a dar lo que necesitás (y eso podés pasarlo a un Excel, por ejemplo :P), no existe tal cosa en una planilla de cálculo porque no debería hacerse ahí.

Desde ya que estan las Macros que son el cáncer creado para poder resolver cosas inmediatas y que ha terminado provocando este descalabro que vemos hoy en día, pero la idea era que contrataran developers, no que un administrativo aprendiera macros 🤷‍♂️

Pero tan sólo el potencial de preder los datos debería ser suficiente escarmiento para cualquier necio que insistiera con la pretensión de conservar todo su negocio dentro de un Excel. Aun así, insisten. Un archivo mal cerrado, un copypasta mal hecho, un crash y chau negocio.

Hasta en ciencia se usa mucho y en este caso el corrector del Excel le cambió el nombre a unos genes porque ¿Qué podría fallar? Arruinar todo un estudio por ejemplo. ¿Qué hicieron para solucionarlo? Le https://www.bionews.org.uk/page_151346 para que Excel no se los rompiera, ciencia condicionada por software :P (Gracias Sebas Bassi por este dato)

No estoy solo

El otro día pregunté abiertamente en Twitter para que me contaran otros casos de estas barbaridades en el ambiente corporativo

Por ejemplo alguien me cuenta que en Telefónica de Argentina:

"Todas las direcciones usábamos los mismos Excels en carpetas compartidas y de un minuto para el otro te borraban el laburo de todo un año. Y olvídate de pedirle un backup a "seguridad" porque nadie sabía cómo."

Estamos hablando de una empresa de primera línea, no de una pequeña PYME.

Otro caso sin especificar la empresa:

"Empresa multinacional, habilitaba a sus empleados temporales acceso solo via citrix. Corria las transacciones intercompania en excel. Cada vez q salia el Vlookup, colgaba el servidor citrix (excel 2010 con 1M de lineas, y lookup a 4 o 5 tabs)"

Ya la combinación con Citrix es genial para que todo falle explosivamente :P 1M de líneas en Excel es una barbaridad, obvio.

Hay experiencia, obvio:

"Años 90, trabajaba en inv de mercado de una internacional. Con un compañero volcamos los datos de un estudio sistemático en excel. Ocupamos todas las celdas. Hicimos otro excel muy lindo como front end para consultar. "

Se perdona por suceder durante los 90s :D ahí sí que se usó mucho Excel para todo esto.

Este es genial:

"INDEC: IT no le daba buen soporte la gente de cuentas nacionales (donde se calcula el PBI) entonces tenían un gazillion de Excel enlazados, para calcular índices, año 2015."

Así se calculan índices que definen políticas, increíble.

La combinación con código VB es un clásico para romperlo todo:

"Un excel para crear un Status Report (vamos bien) pero super customizado para poder hacer escrituras en celdas y que estas impacten en el sistema web. Un enjambre de codigo VB."

Esto está sucediendo hoy en día:

"Excel de 20 tabs interlazados entre ellos lleno de macros. Inusable. Todo encima a regañadientes porque no usabamos su EXCEL DE LA VERDAD ABSOLUTA. Pyme familiar: el gerente hijo varón nunca laburador de otra cosa sabelotodo maneja(ba?) toda la empresa con SU excel. Este año recién pudo cerrar inventario 2018, porque esposa agarró el excel y comenzamos migración a su sistema (que habían comprado en 2019)."

Volvemos a empresas grandes como Bancos:

"He visto presupuestos de multinacionales hechos puramente en Exceles. También vi manejar todo el sector de auditorias internas de un banco con esa herramienta (hasta que explotóGuiño"

También hay casos con conflicto :D

"Una de un conocido.. tenia sociedad con el cuñado que llevaba todo en Excel se pelearon y no le dejó las claves de los archivos jajaja. Le pase un software que las desencriptaba.. creo que le salvé la vida al cuñado jajajaja.."

Genial :P pero es tan común que da miedo:

"Excel en 32 Bit con más de 58 pestañas para llevar la gestión de compra de materiales en empresa Multinacional de Ingenieria, la automatización de este proceso era un "proyecto" para armar varias pivots... dentro del mismo excel..."

El problema de estas "soluciones" es que se extienden en el tiempo y se siguen implementando otras tecnologías alrededor del error:

"Empresa. Usan una planilla de forma compartida por acceso remoto por TS (escritorio remoto), pretenden que sea concurrente y se producen bloqueos de lecto-escritura todo el tiempo, ni hablar de datos, si no cierra la sesión remota no se desbloquea... horas de soporte al respecto"

Luego de esto ¿Cuales son sus experiencias? Seguro que tienen unas cuantas para contar Guiño

Everything can be a database, if you are brave enough.

Otros posts que podrían llegar a gustarte...

Comentarios

  • Galbi    

    ¿Y que software, en lo posible Free, recomendarían para ésa información no vital que habitualmente se guarda en Excel?
    Éso que bien podría sustituirse por un cuaderno Gloria, sin caer en un programa monstruo.

    • Responder
    • Citar
    • Comentado:
    • Depende del caso de uso, existe LibreOffice :P pero si querés una base de datos poderosa MySQL lo instalás en cinco minutos y luego el MySQL Workbench para administrar esos datos. Si sabés un poco de SQL podés tener MUCHO poder en tus manos.

      • Responder
      • Citar
      • Comentado:
  • Horacio    

    Jaja Muy bueno!! Una forma de ver si una empresa es un boliche o no, es viendo como usan excel; y el sayo de boliche le cabe a muchas multinacionales por mas que tengan SAP, Oracle Financials o lo que quieras. Hace ya unos años me toco hacer un assesstment de IT de una empresa que facturaba USD500M al año, lo mas genial que encontramos fue que la posición financiera estaba casualmente un excel monstruoso en la notebook del director de finanzas, al cual nadie tenia acceso, ni siquiera para hacer un respaldo. Boliches así merecen perecer. Saludetes

    • Responder
    • Citar
    • Comentado:
  • Magui ST    

    Mejor no pudo haberse explicado. Ha estado super, milord, un placer leerle.

    • Responder
    • Citar
    • Comentado:
  • Todo el mundo sabe que debajo del SQL Server hay un Access, y debajo del Access hay un Excel...

    • Responder
    • Citar
    • Comentado:
  • Danbat    

    Bueno, ya me siento un poco mejor porque mis experiencias de "la base de datos es un Excel" se reducían a una larga lista de celdas pero sin macros. Nuestro principal problema para importarlas a SQL era que muchos datos repetidos no estaban escritos de manera consistente (por ejemplo, algunas todo con mayúsculas, otros todo minúsculas, otros combinando) y/o alguna cuestión de caracteres especiales.

    Gracias al cielo que ninguna tenía macros.

    Y pensar que cursando en los 90s nos enseñaron a armar bases en Access para ABM y luego compartir los datos a Excel (o incluso Word), todo dentro del mismo Office. Nunca lo implementé porque mis derroteros fueron otros, pero ya en los 90s el Office tenía las herramientas servidas.

    Mentira, lo implementé en un congreso de ecología en 2001. Carga de asistentes al congreso en Access e impresión de certificados vía Word usando las listas de Access. Wow, lo había olvidado casi por completo.

    • Responder
    • Citar
    • Comentado:
  • Ariel    

    Mi esposa contadora esta a la puteada, diciendo que la nota es inaudita y que se sintio tocada con esta parte:

    "Si todavía te sentís ofendido porque acabo de insultar tu genial XLS con Macros vamos con algunas cosas que hacen que cambies tu parecer (o cierres la boca :D)."

    :D

    • Responder
    • Citar
    • Comentado:
    • JAJAJAJAJAJAAJAJAJ me mue

      Igualmente, vale la aclaración, Excel es una herramienta fantástica para lo que fue inventado, no es una base de datos, es una planilla de cálculo y para los contadores es genial. No se qué se ofende :P

      • Responder
      • Citar
      • Comentado:
  • Nicolas    

    Estoy usando bastante las planillas de cálculo de google docs, para algunas hacer una bitácora de las cosas que voy haciendo en el trabajo, controlar gastos personales y rutinas de ejercicio.
    No creo que necesite mucho más porque soy el único que las usa o estoy muy equivocado?

    • Responder
    • Citar
    • Comentado:
  • jorge    

    Sistema de ventas que abarca toda una provincia, con todos los chiches, por güeb, por soap, por json (si sos cool vistes). Se ofrecio todo tipo de reportes y procesos hasta llegar a los cheques finales.

    PERO NO.

    El contador queria un DBF (DE-BE-EFE!) para abrirlo en su excel y a partir de ahi hacer la liquidacion, subtotales por comercio/grupo/amigo/reparticion publica, declaraciones juradas o mentidas, resumenes para cada destinatario de cheques, informe de ajustes por errores y finalmente los cheques que los confeccionaba otra empresa, vaya a saber porque.

    • Responder
    • Citar
    • Comentado:
  • xippo    

    Cada reunion que voy, la propuesta siempre es "HAGAMOS UN EXCEL" con todo esto.
    Cansado de ir a reniones y que de todo salga ese "hagamos un excel", pedí hacer "un excel de los excel que estaba dando vuelta" (sarcasmo). Muchos no lo entendieron, y adivina que.... vieron con buenos ojos que se implemente. :D:D:D

    • Responder
    • Citar
    • Comentado:
  • claudio    

    mi cliente liquidaba sueldos de todo un municipio con un excel, me lo paso para que "le haga un sistema a partir de eso" despues de 20 horas tratando de intentar entender sus formulas magicas termine mirando un video en youtube sobre como liquidar sueldos y me invente un evaluador de formulas con php y taaaraaan
    hoy tiene chocho su propio "excel web"

    • Responder
    • Citar
    • Comentado:
  • Gerez    

    ´No te metá´ con el Excel,
    tocás a uno y nos tocás a todos.

    • Responder
    • Citar
    • Comentado:

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https
Para evitar bots, si se tardó mucho en leer la nota seguramente no sirva y tenga que intentar dos veces

Negrita Cursiva Imagen Enlace


comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador