- Las tablas dinámicas son una función clave que convierte las hojas de cálculo en herramientas de análisis, al permitir resumir rápidamente grandes volúmenes de datos sin programar ni usar matemáticas avanzadas
- Pito Salas, de Lotus, ideó una herramienta basada en clics al ver lo incómodo que era para los usuarios crear estadísticas resumidas por categoría y tablas cruzadas mediante fórmulas complejas
- Steve Jobs vio el potencial de esta función mientras buscaba un software estrella que impulsara la demanda de las computadoras NeXT, lo que llevó al desarrollo de Lotus Improv
- Las flexible views del equipo de Lotus se incorporaron más tarde a Lotus 1-2-3 y Excel, y en Excel se consolidó el nombre pivot table
- Hoy, las tablas dinámicas se usan ampliamente en Excel y Google Sheets, y permiten condensar datos de cientos de miles de filas en un informe resumido de una página con solo unos clics
Una herramienta para resumir datos sin fórmulas
- Las tablas dinámicas son una función de las hojas de cálculo que permite a los usuarios comunes analizar rápidamente conjuntos de datos grandes
- Sin necesidad de saber programar ni tener conocimientos avanzados de matemáticas, los usuarios pueden resumir datos apuntando y haciendo clic con el mouse
- El cofundador de Apple, Steve Jobs, también aparece como una de las personas que reconoció rápidamente el valor de esta función
La historia del desarrollo que llevó a NeXT y Lotus Improv
- En 1985, después de no lograr vencer a IBM en el mercado de las computadoras de negocios, Jobs fue desplazado de la presidencia del directorio de Apple y enseguida fundó NeXT para volver a desafiar a IBM
- Mientras preparaba la computadora NeXT, que se lanzaría en 1988, Jobs buscaba un software estrella que generara demanda para el producto
- Jobs consideraba que VisiCalc, el primer software de hojas de cálculo de uso ampliamente extendido, fue clave en el gran éxito de la Apple II, lanzada en 1979
- En sus encuentros con Lotus, creadora de la popular hoja de cálculo Lotus 1-2-3 para computadoras IBM, Jobs conoció una forma temprana de las tablas dinámicas
- En ese momento, Pito Salas, de Lotus R&D, observaba cómo la gente usaba las hojas de cálculo para calcular estadísticas resumidas por categoría, es decir, tablas cruzadas
- Una empresa de venta de bicicletas podría querer ver la cantidad de ventas por mes o los ingresos por país
- En esa época había que escribir fórmulas complejas a mano, algo engorroso y propenso a errores
- Salas concluyó que hacía falta un software que permitiera obtener estadísticas resumidas con clics en lugar de ingresar fórmulas
- El equipo de Lotus llamó a esta herramienta flexible views, y las funciones similares de Microsoft Excel y Google Sheets hoy se conocen como tablas dinámicas
La reacción de Jobs y su llegada al producto
- Cuando el equipo de Lotus le mostró a Jobs un prototipo inicial, según Salas, Jobs lo consideró “lo más genial”
- Jobs convenció a Lotus de desarrollar el software de tablas dinámicas exclusivamente para las computadoras NeXT
- El resultado fue Lotus Improv
- Las computadoras NeXT fueron un fracaso comercial, pero Lotus Improv dejó una gran influencia
- El componente flexible views de Improv se incorporó después a Lotus 1-2-3 y Excel
- Excel fue, de hecho, el primer producto en usar el término pivot table
- Bill Jelen, evangelizador de Excel y coautor de Pivot Table Data Crunching, considera a Salas el “padre de las tablas dinámicas”
- Salas considera que su aporte a las tablas dinámicas es uno de los logros más satisfactorios de su vida, aunque lo ve como un resultado construido sobre la base del trabajo de muchas personas
Uso en Excel y Google Sheets
- Actualmente, las tablas dinámicas son una de las funciones más importantes y de uso más frecuente en la caja de herramientas de los usuarios avanzados de hojas de cálculo
- Jelen dice que las tablas dinámicas permiten crear un informe resumido de una página a partir de datos con cientos de miles de filas con solo 4 a 6 clics, y que son la forma más rápida de obtener respuestas a partir de grandes conjuntos de datos
- Es difícil saber cuántos usuarios diarios exactos tiene Excel, pero los usuarios de Excel en todo el mundo se cuentan por cientos de millones
- Las tablas dinámicas suelen ubicarse en los primeros lugares, o cerca de ellos, en las listas de las funciones más útiles de Excel
- Los analistas de datos usan tablas dinámicas para diversos fines, como salud pública, crecimiento económico y análisis de efectividad publicitaria
- Justine Shakespeare, gerente sénior de programas de la organización sin fines de lucro de derechos laborales Verité, usa tablas dinámicas para analizar datos de encuestas de entrevistas a trabajadores migrantes en cadenas de suministro globales
Ejemplos reales y recursos de aprendizaje
- Un periodista de Quartz necesitaba un resumen del monto total de remesas del primer semestre de cada año a partir de datos mensuales de remesas desde Estados Unidos hacia México desde 1995
- La cifra necesaria podía obtenerse insertando una tabla dinámica, seleccionando los datos requeridos y filtrando los meses que debían excluirse
- Para aprender más sobre cómo usar tablas dinámicas, se puede ver el video de Cody Baldwin, el “Excel ninja”
- Los usuarios de Google Sheets pueden consultar la introducción a las tablas dinámicas del experto en Sheets Ben Collins
1 comentarios
Opiniones en Hacker News
Aprendí este fin de semana que, si quieres agrupar filas/celdas según el valor de una celda, puedes usar la función FILTER
=FILTER(Stories!B2:D13,Stories!F2:F13=A2)El primer argumento,
Stories!B2:D13, es el rango de celdas que contiene las historias, y el segundo argumento,Stories!F2:F13=A2, es la columna que compara cada celda con el valor deA2. Las filas que coinciden se copian en la ubicación donde está la fórmula=FILTERLo estoy usando para organizar automáticamente una lista de historias por sprint, y sirve para cosas como la planificación de incrementos de programa
Otra fórmula útil de Excel que aprendí hace poco es
=IF(NOT(ISBLANK(A2)),HYPERLINK("https://jira-instance.atlassian.net/browse/…),"")Si
A2no está vacío, agrega ese valor al final de la URL y muestra como enlace el textoPROJECT-con el valor deA2adjunto. Podría haber hecho algo más elegante con Emacs y org-mode, pero necesitaba compartirlo con los responsables de negocio, así que Excel era lo adecuadoAyuda a documentar qué se hizo para obtener la cantidad de filas
Las tablas dinámicas basadas en cubos SSAS quizá sean la mejor herramienta de análisis de autoservicio que he visto hasta ahora. Con “mejor” me refiero a cuánto la usan los usuarios reales
La capacidad de hacer que los usuarios de negocio la usen de inmediato en un entorno donde ya están es enorme para la adopción real, especialmente en comparación con algo como Looker. Looker también es un desastre por otros motivos
Además, 9 de cada 10 veces la gente quiere agregar transformaciones o cálculos ligeros a los datos, y no hay nada mejor que tenerlo ya dentro de Excel
Lo lamentable es que prácticamente no hay soporte para OSX, y escribir MDX es realmente doloroso
Se lo doy a los PM de los productos que llevo, y pueden responder muchas preguntas solo con tablas dinámicas, sin escribir SQL aparte
Pienso en eso bastante seguido cuando se habla de buenas herramientas analíticas en el mundo de datos. Incluso herramientas de BI bien desarrolladas como metabase no manejan las dimensiones tan bien como una tabla dinámica
Hicimos algo de trabajo web para manejar permisos y guardar vistas, pero el tiempo total de desarrollo probablemente fue de menos de una semana
También se podía descargar desde Looker Explore como CSV o Excel; me pregunto qué les faltaba ahí
Las tablas dinámicas son, en realidad, más bien una aproximación pobre a una verdadera hoja de cálculo multidimensional; por ejemplo, estaba Lotus Improv: https://instadeq.com/blog/posts/no-code-history-lotus-improv...
El modelo de hoja de cálculo es un buen ejemplo. Excel quizá sea probablemente lo mejor de Microsoft Office, pero el resultado es que, si no puedes hacer publicación de escritorio lo suficientemente bien con Word, normalmente tienes que irte a InDesign, y si no eres profesional de la publicación, eso suele ser una opción excesiva
En mi trabajo uso Anaplan todos los días, y si hubiera una versión SaaS moderna basada en la nube de Improv, se sentiría exactamente así. Creo que la razón por la que se convirtió en una empresa de miles de millones de dólares es que no apuntó de frente al mercado de las hojas de cálculo, sino que se acercó de una manera que convive bien con ellas
La conclusión del artículo sobre Improv es que el error estratégico central fue intentar vender Improv al mercado existente de hojas de cálculo. Si lo hubieran vendido a un segmento donde el modelo más estructurado fuera una “funcionalidad” y no un “bug”, Lotus habría ganado tiempo para aprender, mejorar y refinar el modelo, y así satisfacer también a un mercado más grande; Anaplan parece no haber cometido ese error. Creó un nicho en el mercado de EPM, es decir, gestión del desempeño empresarial
En algún momento hay que admitir que se eligió mal la abstracción. Tiene una fuerte vibra a Zalgo
En ese momento no sabía que las tablas dinámicas eran otro enfoque del mismo concepto
Otra razón por la que abandoné las hojas de cálculo fue el rendimiento. No recuerdo qué tan bueno o malo era Improv en ese aspecto, pero los conjuntos de datos con los que trabajaba entonces no encajaban bien en una hoja de cálculo, así que probablemente no lo habría seguido usando
Aun así, parece que les costó bastante explicar qué era una tabla dinámica y si esa sola función era motivo suficiente para mudarse a una nueva aplicación y una nueva plataforma de hardware
En Google Ads creamos un montón de dashboards que se veían increíbles, pero al hacer investigación con usuarios quedaba bastante claro que, al final, lo único que la gente quería era ver sus propios datos en tablas dinámicas
Exportar a una hoja de cálculo + tablas dinámicas permite hacer todo eso. Cualquier empleado de oficina más o menos competente puede hacerlo sin pasar por un ciclo interminable de backlog-especificación-sprint-desarrollo-pruebas-reespecificación-sprint
Si no sirve para hacer el trabajo, a nadie le importa que se vea bien. Además, lo “vistoso” es muy subjetivo. El equipo estaba perdiendo el tiempo en algo donde creía que agregaba valor, pero en realidad no
Poco después renuncié y me pasé al equipo de Google Sheets
Microsoft le robó directamente las tablas dinámicas a mi empleador anterior, Brio Technology, y a su producto DataPivot: https://en.wikipedia.org/wiki/Brio_Technology
Según el CEO, Microsoft lo llamó a Redmond para hacerle una oferta insultantemente baja por la empresa y lo amenazó con crear su propio producto y hundir a Brio si se negaba. Él se negó y, después, MS agregó tablas dinámicas a Excel.
El artículo también menciona a Lotus, que parece haber creado un producto similar por la misma época. Los fundadores de Brio también estuvieron involucrados en una empresa llamada Metaphor, y quizá algunas ideas se desarrollaron ahí.
El producto de Brio venía con una base de datos de ejemplo que contenía el inventario de la cava de vinos del CEO, y esos mismos datos aparecieron en las primeras cajas de Microsoft Office.
Solo que Stac sí tenía una patente y contrató abogados para demandar a Microsoft por infracción de patente. Microsoft tampoco se echó atrás sin más, pero después de que el tribunal determinó que ambas partes necesitaban licencias para lanzar sus productos, Stac fue con grandes clientes OEM a ofrecerles una licencia.
Era obtener una licencia de patente o no poder despachar el producto; cuando los OEM presionaron a Microsoft, eso terminó en un acuerdo nada malo para Stac. Lo veo como uno de los mejores ejemplos de cómo las patentes de software pueden ayudar a la competencia
El concepto de agregar columnas de datos categorizados no fue inventado por Brio Technology
Pero creo que el gran problema fue que no formaba parte de Lotus 123. Por eso, cuando Excel incorporó las tablas dinámicas directamente dentro de la hoja de cálculo, se volvió mucho más útil. Al menos para mí fue así
Soy ingeniero y también estoy familiarizado con SQL, pero la capacidad de trabajar rápido en Excel y crear tablas dinámicas sobre la marcha me ayudó mucho en mi carrera, sobre todo a medida que me fui moviendo más hacia producto y gestión de negocio.
Las tablas dinámicas permiten ver muy rápido desgloses por múltiples dimensiones, cambiar el análisis de un lado a otro y tomar decisiones con rapidez. Fuera de herramientas existentes para dominios bien definidos, no hay muchas cosas que se les comparen
Puedo lanzar consultas SQL mucho más rápido que hacer clics en Excel, y como después es más fácil copiar y pegar una consulta desde el historial que volver a aplicar todo el formato en una hoja de Excel, también es más reproducible
Pero muchas veces mover los datos de una hoja de cálculo a una base de datos es demasiado trabajo, así que incluso para un ingeniero usar tablas dinámicas no me parece una mala opción
Uso esto todo el tiempo en Pandas. Justo acabo de dar una clase relacionada y, una vez que entiendes la sintaxis, es muy útil.
Herramientas inteligentes como DuckDB reconocieron su utilidad y el dolor que implica hacer esto en SQL común, y agregaron PIVOT a su implementación. Es muy útil
pivot_longerypivot_wider; ojalá Postgres tuviera algo asíEspero que la situación haya mejorado, porque las tablas dinámicas son realmente útiles
También generaba SQL, y gracias a eso aprendí un poco de SQL
Así que me da curiosidad qué es exactamente una tabla dinámica. Nunca he usado ni visto una, y el video incrustado tampoco cargó en el navegador
Lo que aprendí de este artículo es que es una forma sencilla de mostrar datos dentro de una hoja de cálculo, y que quizá fue inventada en Lotus
No tengo ni idea de qué hace realmente ni cómo se usa
Personalmente, paradójicamente, la considero muy útil y al mismo tiempo un desastre total
Probablemente esto hable más de implementaciones específicas que de las tablas dinámicas en general, pero cuando intento hacer algo un poco más avanzado, a menudo siento que se quedan cortas
Por mencionar algunas cosas, tanto Excel como Google Sheets son muy limitados, de maneras distintas, en cómo se generan los “valores”
La forma en que funcionan el filtrado y el ordenamiento en las tablas dinámicas tampoco es la más intuitiva ni flexible
Es muy difícil controlar elementos de la UI como encabezados y estilos, y muchas veces termino copiando la tabla dinámica a otro lado después de crearla para arreglar manualmente varias cosas. Entonces ya no puede actualizarse dinámicamente, y eso diluye su propósito
No soy experto en hojas de cálculo, así que quizá se me esté escapando algo
Las uso principalmente para encontrar rápido valores inesperados en las columnas de datos originales. Aunque con la aparición de fórmulas con desbordamiento como
=unique(), cada vez las uso menos incluso para esoCreo que cuando la gente quiere más de las tablas dinámicas, por lo general lo que realmente está pidiendo se parece más a Power Query. La funcionalidad ya existe, pero a mucha gente le intimida. Puede que no sea el caso en HN, pero sí entre los usuarios comunes
Esto me molestó tanto que decidí escribir mi propio motor de hojas de cálculo, y este es uno de los puntos de dolor que quiero corregir
Puedes cambiar el orden de filas/columnas con solo hacer clic en los encabezados, y aplicar filtros indicando con entradas simples qué elementos mantener o excluir
Las tablas dinámicas sin duda son potentes, pero el nombre no ayuda, y en Excel siempre toma algo de tiempo manejar bien la UI
Me gusta que la función Categories de Numbers en MacOS sea mucho más fácil de usar, pero cuando llegas a sus límites tiene restricciones bastante molestas
Hoy en día, para trabajos complejos, muchas veces lo más fácil es exportar la hoja de cálculo a CSV y ejecutar consultas SQL con CSVQ