menu
languageEspañol
save_alt Descargar

Tablas dinámicas

Crea tablas dinámicas a partir de resultados de consultas, selecciones o tablas, y expórtalas a Excel, PDF, Markdown, CSV, HTML o como imagen.

por rathboma Plugin de la comunidad

Readme

Este texto lo escribió un tercero y se tradujo automáticamente. Lee el original en inglés

Convierte cualquier resultado de consulta, selección del grid o tabla en Beekeeper Studio en una tabla dinámica y compártela como libro de Excel, PDF, imagen, Markdown, CSV, HTML o JSON.

Creando una tabla dinámica: arrastrando campos a filas, columnas y valores, agrupando fechas por año, agregando subtotales, un mapa de calor y un filtro, y luego exportando

Grabado en el entorno de desarrollo del plugin con 5,000 pedidos de ejemplo. Ligeramente acelerado.

Funciones de un vistazo

   
Arrastrar y soltar Filas, Columnas, Valores y Filtros, como una tabla dinámica de hoja de cálculo
11 agregaciones Conteo, conteo de distintos, suma, promedio, mínimo, máximo, mediana, desviación estándar, varianza, primero, último
% del total Muestra cualquier valor como porcentaje del total general, de fila o de columna
Agrupación por fechas Año, trimestre, mes, semana, día, hora, mes del año, día de la semana
Filtros y ordenamiento Elige valores con búsqueda y conteos; ordena A→Z, Z→A o por valor
Diseño Totales, subtotales, valores en columnas o filas, decimales fijos, mapa de calor
8 formatos de exportación Excel, Excel + datos de origen, PDF, PNG, Markdown, CSV, HTML, JSON
3 formas de copiar Celdas de hoja de cálculo, tabla Markdown, imagen
Cualquier fuente de datos Selecciones del grid, consultas, tablas (con los filtros de la pestaña), hasta 100,000 filas
Se integra Sigue el tema claro u oscuro, guarda el diseño de cada pestaña y se ejecuta localmente sin llamadas de red

Cómo crear una tabla dinámica

Cada columna de los datos aparece en la lista de Campos. Arrastra un campo a una zona, o haz clic en él y elige a dónde va:

  • Filas y Columnas agrupan los datos. Apila varios campos para anidar grupos y arrastra los chips para reordenarlos. Intercambiar invierte filas y columnas.
  • Valores son los números de las celdas. Puedes agregar el mismo campo más de una vez, por ejemplo para mostrar su suma y su promedio lado a lado. Sin valores, la tabla dinámica cuenta filas.
  • Filtros acotan los datos sin agregar una fila o columna.

Arrastra un chip de vuelta a la lista de campos para quitarlo. Haz clic en cualquier chip para ver sus opciones.

Una tabla dinámica nueva empieza con un diseño sugerido:

  • Filas: una columna tipo categoría, como status, plan o country.
  • Columnas: la fecha principal, agrupada por día, mes, trimestre o año según el rango de los datos. Va en Filas si no hay columna de categoría.
  • Valores: la suma de una columna tipo monto, como total, amount o quantity, o un conteo de filas si no hay ninguna.

No se usan ids, columnas casi vacías, texto libre ni timestamps como updated_at. Restablecer diseño en Opciones vuelve a la sugerencia.

Resumir valores

Haz clic en un chip de valor para cambiar lo que muestra:

Resumir por Funciona con
Conteo, conteo de distintos Cualquier columna, o filas si no eliges un campo
Suma, promedio, mediana, desviación estándar, varianza Números, incluido texto numérico
Mínimo, máximo Números, fechas y texto
Primero, último Cualquier columna

Mostrar como convierte un valor en porcentaje del total general, del total de su fila o del total de su columna.

Agrupar, filtrar y ordenar

Haz clic en un chip de fila, columna o filtro para:

  • Agrupar fechas por año, trimestre, mes, semana ISO, día, hora, mes del año o día de la semana. Las fechas se agrupan tal como están en la base de datos, así que las zonas horarias no las desplazan.
  • Mostrar valores: una lista de cada valor con su conteo de filas, un cuadro de búsqueda, Todos / Ninguno y “solo” para quedarte con un único valor. Los chips filtrados se resaltan.
  • Ordenar etiquetas A→Z o Z→A (los números se ordenan numéricamente y los nulos van al final), o por el tamaño del primer valor, de mayor a menor o de menor a mayor.

Opciones de diseño

En Opciones de la barra lateral:

  • Columna de totales y fila de totales para totales generales, y subtotales para cada grupo cuando las filas o columnas están anidadas.
  • Valores en columnas o filas, para tablas dinámicas con varios valores.
  • Decimales: automático (los enteros se quedan enteros, otros valores usan 2 decimales, los porcentajes 1) o un valor fijo de 0 a 4 decimales.
  • Mapa de calor sombrea cada valor del más pequeño al más grande.

El título de arriba le da nombre a la pestaña y aparece en las exportaciones.

Exportar y compartir

Exportar guarda un archivo. Las exportaciones siempre contienen toda la tabla dinámica, aunque el grid en pantalla solo muestre las primeras filas de una muy grande.

Formato Qué obtienes
Excel Encabezados combinados, formatos de número y porcentaje, totales en negritas y filas de encabezado y columnas de etiquetas inmovilizadas
Excel + datos de origen El mismo libro con una segunda hoja con las filas cargadas, lista para volver a pivotear en Excel
PDF Horizontal cuando es ancha. Se reduce para ajustarse cuando puede y divide las tablas muy anchas en páginas que repiten las etiquetas de fila
Imagen Un PNG nítido con título, origen y filtros, listo para presentaciones, documentos o chat
Markdown Una tabla estilo GitHub para READMEs, issues y wikis
CSV Una fila de encabezado y números sin formato, con las etiquetas de fila repetidas en cada fila
HTML Una página independiente con estilos que conserva los encabezados combinados
JSON Un objeto por fila, con el encabezado de columna como clave

Copiar pone la tabla dinámica en el portapapeles como celdas de hoja de cálculo (se pega en Excel o Google Sheets, porcentajes incluidos), como tabla Markdown o como imagen.

Este es el PNG que genera la exportación como Imagen para la tabla dinámica del demo:

Exportación como imagen de la tabla dinámica de ingresos, con título, origen y resumen de filtros

Abrir una tabla dinámica

Dónde Opción del menú Datos usados
Menú desplegable de nueva pestaña (junto a +), menú Herramientas Pivot Table Una consulta o tabla elegida en el plugin
Resultados de consulta o datos de tabla: clic derecho en una celda o en la esquina superior izquierda Pivot Table from Selection Las celdas seleccionadas
Encabezado de la pestaña de consulta o menú contextual del editor de consultas Pivot Query Results La consulta, ejecutada de nuevo con un límite de filas
Tabla en la barra lateral o encabezado de una pestaña de tabla Open in Pivot Table La tabla, con los filtros de la pestaña como cláusula WHERE

Para pivotear todo un conjunto de resultados desde el grid, primero selecciona todas las celdas (haz clic en la esquina superior izquierda del grid o presiona Ctrl/Cmd+A) y luego da clic derecho.

Puedes cambiar la fuente de datos en cualquier momento con el botón de lápiz de la barra lateral, que acepta una consulta SQL o una tabla con una cláusula WHERE opcional. SQL en la barra de estado muestra la consulta exacta que cargó los datos.

Límites de filas

Las tablas dinámicas se calculan en el plugin, así que los datos se cargan con un límite de filas: 10,000 filas por defecto, configurable hasta 100,000 (la elección se recuerda).

  • Las consultas se envuelven como SELECT * FROM (<query>) AS pivot_source LIMIT n (TOP en SQL Server, ROWNUM en Oracle, FIRST en Firebird), así que la base de datos aplica el límite.
  • Si la base de datos rechaza la consulta envuelta (por ejemplo, un CTE en SQL Server), un aviso te ofrece ejecutar la consulta tal como está y quedarte con las primeras filas. Las sentencias que pueden modificar datos nunca se vuelven a ejecutar sin confirmación.
  • Las bases de datos sin subconsultas SQL (MongoDB, Redis, Cassandra y similares) ejecutan la consulta tal como está y se quedan con las primeras filas.
  • Un aviso aparece cuando se alcanza el límite. Los totales solo cubren las filas cargadas.
  • Al reabrir una pestaña guardada, las fuentes de consulta esperan a que hagas clic en Ejecutar consulta en lugar de ejecutarse automáticamente. Las selecciones y tablas se cargan de inmediato.

Temas claro y oscuro

El plugin usa los colores del tema de Beekeeper Studio y cambia junto con la app.

Claro Oscuro
Tabla dinámica en el tema claro Tabla dinámica en el tema oscuro

Instalación

Una vez publicado, instala Pivot Tables desde Tools → Manage Plugins en Beekeeper Studio (5.5 o posterior).

Para instalar una versión manualmente, descarga bk-plugin-pivot-tables-<version>.zip desde los releases y extráelo en el directorio de plugins de Beekeeper Studio:

  • Linux: ~/.config/beekeeper-studio/plugins/bk-plugin-pivot-tables
  • macOS: ~/Library/Application Support/beekeeper-studio/plugins/bk-plugin-pivot-tables
  • Windows: %APPDATA%\beekeeper-studio\plugins\bk-plugin-pivot-tables

Desarrollo

yarn install
yarn dev        # links the project into Beekeeper's plugins directory and serves it with hot reload
yarn harness    # runs the plugin in a browser against a fake Beekeeper Studio
yarn test:run   # unit tests (Vitest)
yarn typecheck
yarn build      # production build into dist/
yarn package    # release zip in release/ (after yarn build)

yarn dev usa @beekeeperstudio/vite-plugin, que crea un symlink del proyecto en el directorio de plugins. Activa los plugins en Beekeeper Studio y abre una tabla dinámica desde cualquiera de los menús de arriba.

yarn harness sirve dev/host.html en http://localhost:5199/dev/host.html. Aloja el plugin en un iframe y responde sus solicitudes de API desde una base de datos SQLite en memoria con 5,000 pedidos de ejemplo, así puedes trabajar en la UI y las exportaciones sin Beekeeper Studio. Parámetros de consulta:

  • command=new-pivot|pivot-selection|pivot-query|pivot-table elige la opción de menú que se emula.
  • theme=light|dark define el tema.
  • fresh=1 borra el estado guardado de la pestaña.
  • prod=1 carga el build de producción desde dist/ (ejecuta yarn build primero).

docs/demo.gif se graba desde el harness con scripts/record-demo.cjs, así que se puede volver a grabar tras cambios en la UI. Con yarn harness en ejecución:

npm install -g playwright && npx playwright install chromium   # once; also needs ffmpeg
NODE_PATH="$(npm root -g)" node scripts/record-demo.cjs

Estructura del proyecto

manifest.json            Plugin manifest: one view, menu entries for each way of opening it
src/App.vue              Startup, data loading, state persistence, export actions
src/components/          Field list, drop zones, menus, pivot table renderer, source editor
src/lib/pivot/           Pivot engine, aggregators, date grouping, grid layout (headers and spans)
src/lib/source/          Loading data: selections, queries and tables with dialect-aware row limits
src/lib/export/          Excel, PDF, image, Markdown, CSV, HTML and JSON exporters
tests/                   Vitest specs
dev/                     Browser harness that emulates Beekeeper Studio

El motor de tablas dinámicas genera un grid de celdas con extensiones de filas y columnas (src/lib/pivot/grid.ts). La tabla en pantalla y cada exportador se renderizan desde ese grid, así que todos muestran el mismo diseño.

Publicación

  1. Ejecuta bin/make-release.sh. Sugiere la siguiente versión a partir de los tags existentes, establece version en manifest.json y package.json, hace commit y sube un tag correspondiente como v1.0.0.
  2. El workflow de release ejecuta pruebas, compila y crea un release de GitHub en borrador con manifest.json y bk-plugin-pivot-tables-<version>.zip. Revísalo y publícalo.
  3. Para aparecer en el Plugin Manager, agrega una entrada a plugins.json en beekeeper-studio-plugins.

Limitaciones

  • Los filtros de las pestañas de tabla se pasan a los plugins en las versiones de Beekeeper Studio que incluyen el cambio de filtros de serializeTab. Las versiones anteriores abren toda la tabla (con el límite de filas); aun así puedes escribir una cláusula WHERE en el editor de origen.
  • El grid muestra las primeras 500 filas y 300 columnas de tablas dinámicas muy grandes (“Mostrar más” carga más filas). Las exportaciones siempre incluyen todo.
  • Las imágenes incluyen las primeras 2,000 filas.
  • Las exportaciones a PDF no pueden dibujar caracteres CJK, que la fuente DejaVu incluida no cubre.

Licencia

GPL-3.0. Incluye las fuentes DejaVu (licencia Bitstream Vera) para las exportaciones a PDF.