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.

Si te gustó esta nota podés...
Invitame un café en cafecito.app


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

Comentarios

    • Fabio Baccaglioni     13/04/2021 - 11:42:11

      lo recordé antes de escribir, me olvidé al escribir :D

  • Galbi     13/04/2021 - 12:11:01

    ¿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.

    • Fabio Baccaglioni     13/04/2021 - 12:28:05

      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.

  • Horacio     13/04/2021 - 12:36:14

    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

  • Magui ST     13/04/2021 - 12:58:49

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

  • Tulio Serpio     13/04/2021 - 15:50:16

    Todo el mundo sabe que debajo del SQL Server hay un Access, y debajo del Access hay un Excel...

  • Danbat     13/04/2021 - 15:55:26

    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.

  • Ariel     13/04/2021 - 17:05:24

    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

    • Fabio Baccaglioni     13/04/2021 - 17:41:20

      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

  • Nicolas     14/04/2021 - 01:33:50

    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?

  • jorge     14/04/2021 - 14:40:05

    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.

  • xippo     14/04/2021 - 21:33:33

    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

  • claudio     16/04/2021 - 00:07:29

    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"

  • Gerez     16/04/2021 - 14:07:07

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

  • Rotietip     12/05/2021 - 02:18:06

    Fabio dijo:

    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ó.

    ¿Estamos hablando de git o de bases de datos? Por que lo mas cercano que hay a eso en SQL son los rollbacks y savepoints. Si después queres saber quien hizo que y cuando ya te toca manejarlo aparte.
    Fabio dijo:
    ¿Cuántas filas creen que pueden manejar?

    Si abrís una hoja de calculo en Excel (o programas similares) esta suele tener hasta 65536 filas. Se que le podes encajar chorrocientos millones de filas mas mediante programación pero no se si Excel puede cargar todo eso o si solo te muestra las primeras n filas y omite el resto.
    Fabio dijo:
    Un archivo mal cerrado, un copypasta mal hecho, un crash y chau negocio.

    Me hiciste acordar a lo que le paso a mi hermana con una hoja de calculo que tenia en su teléfono. No se como lo manejaba pero un día se le bugeo la aplicación que usaba y cuando se volvió a fijar le quedo un archivo vació (creo que perdió como un mes de registros o así por esa pendejada).
    Fabio (o mas bien Marcos Alcázar) dijo:
    Excel de 20 tabs interlazados entre ellos lleno de macros.

    Se parece al archivo que mi viejo tenia como libro mayor para llevar unos balances. Lo peor de todo es al ser algo que le envió la municipalidad, solo se podía editar ciertos campos y el resto estaba bloqueado con contraseña (supongo que para evitar adulterarlo, pero aun así no deja de ser un poco tocahuevos por lo que comento a continuación).
    Mas allá de que aprendiera a usar ese archivo para registrar su mierda no ha habido mayores problemas, salvo cuando unos campos de resultado no se mostraban bien (o daban error) y tuve que trazar lo que hacia el código de las macros, solo para darme cuenta de que había un error en unas hojas ocultas que usa para cálculos intermedios o no se que (las cuales por suerte se podían editar y pude arreglar, de lo contrario me habría querido cortar las bolas).
    Fabio (o mas bien Luis Elissondo) dijo:
    Le pase un software que las desencriptaba.. creo que le salvé la vida al cuñado jajajaja..

    Seria interesante saber de cual versión era ese Excel por que me parece que ahora no es tan facil sacarle la contraseña a los archivos de Office.
    Galbi dijo:
    ¿Y que software, en lo posible Free, recomendarían para ésa información no vital que habitualmente se guarda en Excel?

    Si es algo chico y a lo que no esperas darle un enfoque "empresarial", imagino que con SQLite + Kexi te podría bastar. Todavía tengo pendiente de probar Kexi pero hasta donde vi permite hacer bases de datos con formularios al estilo de Access.

  • nan     13/05/2021 - 21:20:21

    Muy buen artículo .

    Me imagino que muchas veces estas cosas se gestan de una manera noble, alguien crea organización allí donde no la hay, simplemente hay información que conviene analizar y registrar de forma ordenada y digital, tal vez para evaluar algo, un proceso que se realiza intuitivamente o informalente y no se está haciendo hasta el momento. En ese punto, es una mejoría. No había nada, y brotó algo de organización, desde una parte chiquita, del emprendimiento. Eso que brotó se muestra util, una y otra vez, y se usa cada vez más, y se organizan otras cosas del mismo modo, van brotando, van interactuando. Es decir, se va armando una organización Bottom Up y la empresa se vuelve dependiente de esa organización primitiva que surgió de abajo en excel. Por supuesto, el crecimiento orgánico de esa organización se va en vicio, y en vez de formalizarse, analizarse y sistematizarse todos los procesos que se notan que faltan, se trata de seguir por el mismo camino
    agregando lo mínimo necesario para que funcione. Creo que es falta de experiencia, si hubiera gente a cargo con la experiencia necesaria, (gente que haya visto ya los procesos bien aceitados en otras empresas más armadas), La organización hubiera sido Top Down, hubiera estado desde el vamos, y hubiera estado todo: los backups, las bases de datos SQL, los servidores, la infrastructura (mínima acaso para lo que necesitan manejar pero completa) y los procesos también hubieran estado ahí.

    Por otra parte, hay que entender también creo que el pasaje de ese modelo orgánico a otro completamente nuevo es traumático: cambia demasiadas cosas de golpe. Creo que tiene que haber gente en la dirección muy consciente de que es lo mejor para la empresa pagar ese atrasadísimo costo que es de aprendizaje, de cambio cultural y de reutilización de procesos conocidos que seguir la deriva de esa organización que está dando signos de fallar, que es lo más tentador.

  • kinui666     26/05/2021 - 18:36:51

    Hace unos meses descubrí power querry e hice un desastre. Tengo 12 excels con una tabla bastante larga, un power querry a esa tabla para hacer algunas operaciones y desde un excel "PADRE" hago un querry a las tablas creadas con query para armar la tabla de las tablas. Un asco todo...
    Sin ir SQL, que no me metí todavía en eso, estuve viendo la chance de remplazar esos excels rancios por listas de sharepoint y subir el "Excel de excels" a Power BI. Espero no arruinar todo. Gracias por la nota. Me dió otro empujoncito para dejar de empeorar lo que ya está mal.

    PD: Trabajo para una multinacional que usa SAP :D

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.