menu
languagePortuguês (Brasil)
save_alt Baixar

Tabelas Dinâmicas

Crie tabelas dinâmicas a partir de resultados de consultas, seleções ou tabelas e exporte para Excel, PDF, Markdown, CSV, HTML ou imagem.

por rathboma Plugin da comunidade

Readme

Este texto foi escrito por terceiros e traduzido automaticamente. Leia o original em inglês

Transforme qualquer resultado de consulta, seleção da grade ou tabela no Beekeeper Studio em uma tabela dinâmica e compartilhe como pasta de trabalho do Excel, PDF, imagem, Markdown, CSV, HTML ou JSON.

Criando uma tabela dinâmica: arrastando campos para linhas, colunas e valores, agrupando datas por ano, adicionando subtotais, um mapa de calor e um filtro e, por fim, exportando

Gravado no ambiente de desenvolvimento do plugin com 5.000 pedidos de exemplo. Levemente acelerado.

Recursos em resumo

   
Arrastar e soltar Linhas, Colunas, Valores e Filtros, como em uma tabela dinâmica de planilha
11 agregações Contagem, contagem distinta, soma, média, mínimo, máximo, mediana, desvio padrão, variância, primeiro, último
% do total Mostre qualquer valor como parte do total geral, da linha ou da coluna
Agrupamento de datas Ano, trimestre, mês, semana, dia, hora, mês do ano, dia da semana
Filtros e ordenação Escolha valores com busca e contagens; ordene de A→Z, Z→A ou por valor
Layout Totais, subtotais, valores em colunas ou linhas, casas decimais fixas, mapa de calor
8 formatos de exportação Excel, Excel + dados de origem, PDF, PNG, Markdown, CSV, HTML, JSON
3 formas de copiar Células de planilha, tabela Markdown, imagem
Qualquer fonte de dados Seleções da grade, consultas, tabelas (com os filtros da aba), até 100.000 linhas
Integrado Segue o tema claro ou escuro, salva o layout de cada aba e roda localmente, sem chamadas de rede

Montando uma tabela dinâmica

Todas as colunas dos dados aparecem na lista Fields. Arraste um campo para uma área ou clique nele e escolha para onde ele vai:

  • Rows e Columns agrupam os dados. Empilhe vários campos para aninhar grupos e arraste os chips para reordená-los. Swap inverte linhas e colunas.
  • Values são os números nas células. O mesmo campo pode ser adicionado mais de uma vez, por exemplo, para mostrar a soma e a média lado a lado. Sem valores, a tabela dinâmica conta as linhas.
  • Filters restringem os dados sem adicionar linha ou coluna.

Arraste um chip de volta para a lista de campos para removê-lo. Clique em qualquer chip para ver suas opções.

Uma nova tabela dinâmica começa com um layout sugerido:

  • Rows: uma coluna do tipo categoria, como status, plan ou country.
  • Columns: a data principal, agrupada por dia, mês, trimestre ou ano conforme o intervalo dos dados. Ela vai para Rows quando não há coluna de categoria.
  • Values: a soma de uma coluna do tipo valor, como total, amount ou quantity, ou a contagem de linhas quando não houver nenhuma.

Ids, colunas quase vazias, texto livre e timestamps como updated_at não são usados. Reset layout em Options volta à sugestão.

Resumindo valores

Clique em um chip de valor para mudar o que ele mostra:

Resumir por Funciona com
Contagem, contagem distinta Qualquer coluna, ou linhas quando nenhum campo é escolhido
Soma, média, mediana, desvio padrão, variância Números, incluindo texto numérico
Mínimo, máximo Números, datas e texto
Primeiro, último Qualquer coluna

Show as transforma um valor em porcentagem do total geral, do total da linha ou do total da coluna.

Agrupamento, filtragem e ordenação

Clique em um chip de linha, coluna ou filtro para:

  • Group dates by ano, trimestre, mês, semana ISO, dia, hora, mês do ano ou dia da semana. As datas são agrupadas como estão gravadas no banco, então fusos horários não as deslocam.
  • Show values: uma lista de todos os valores com a contagem de linhas, uma caixa de busca, All / None e “only” para manter um único valor. Chips filtrados ficam destacados.
  • Sort ordena os rótulos de A→Z ou Z→A (números em ordem numérica, nulos por último) ou pelo tamanho do primeiro valor, do maior ou do menor primeiro.

Opções de layout

Em Options na barra lateral:

  • Totals column e totals row para totais gerais, e subtotals para cada grupo quando linhas ou colunas estão aninhadas.
  • Values in colunas ou linhas, para tabelas dinâmicas com vários valores.
  • Decimals: automático (números inteiros continuam inteiros, outros valores usam 2 casas, porcentagens 1) ou fixo de 0 a 4 casas.
  • Heatmap colore cada valor do menor ao maior.

O título no topo dá nome à aba e aparece nas exportações.

Exportando e compartilhando

Export salva um arquivo. As exportações sempre contêm a tabela dinâmica inteira, mesmo quando a grade na tela mostra só as primeiras linhas de uma muito grande.

Formato O que você recebe
Excel Cabeçalhos mesclados, formatos de número e porcentagem, totais em negrito e linhas de cabeçalho e colunas de rótulo congeladas
Excel + dados de origem A mesma pasta de trabalho com uma segunda planilha com as linhas carregadas, pronta para uma nova tabela dinâmica no Excel
PDF Paisagem quando largo. Reduz para caber quando possível e divide tabelas muito largas em páginas que repetem os rótulos das linhas
Imagem Um PNG nítido com título, origem e filtros, pronto para slides, documentos ou chat
Markdown Uma tabela no estilo do GitHub para READMEs, issues e wikis
CSV Uma linha de cabeçalho e números brutos, com os rótulos repetidos em todas as linhas
HTML Uma página independente estilizada que mantém os cabeçalhos mesclados
JSON Um objeto por linha, com chaves pelo cabeçalho da coluna

Copy coloca a tabela dinâmica na área de transferência como células de planilha (cola no Excel ou Google Sheets, incluindo porcentagens), como tabela Markdown ou como imagem.

Este é o PNG que a exportação Image gera para a tabela dinâmica da demonstração:

Exportação em imagem da tabela dinâmica de receita, com título, fonte e resumo dos filtros

Abrindo uma tabela dinâmica

Onde Item de menu Dados usados
Menu suspenso de nova aba (ao lado de +), menu Tools Pivot Table Uma consulta ou tabela escolhida no plugin
Resultados de consulta ou dados de tabela: clique com o botão direito em uma célula ou no canto superior esquerdo Pivot Table from Selection As células selecionadas
Cabeçalho da aba de consulta ou menu de contexto do editor de consultas Pivot Query Results A consulta, executada novamente com limite de linhas
Tabela na barra lateral ou cabeçalho de uma aba de tabela Open in Pivot Table A tabela, com os filtros da aba como cláusula WHERE

Para criar uma tabela dinâmica com todo o conjunto de resultados da grade, selecione todas as células primeiro (clique no canto superior esquerdo da grade ou pressione Ctrl/Cmd+A) e depois clique com o botão direito.

A fonte de dados pode ser alterada a qualquer momento pelo botão de lápis na barra lateral, que aceita uma consulta SQL ou uma tabela com cláusula WHERE opcional. SQL na barra de status mostra a consulta exata que carregou os dados.

Limites de linhas

As tabelas dinâmicas são calculadas no plugin, então os dados são carregados com limite de linhas: 10.000 por padrão, configurável até 100.000 (a escolha é lembrada).

  • As consultas são envolvidas como SELECT * FROM (<query>) AS pivot_source LIMIT n (TOP no SQL Server, ROWNUM no Oracle, FIRST no Firebird), para que o banco aplique o limite.
  • Se o banco rejeitar a consulta envolvida (por exemplo, uma CTE no SQL Server), um aviso oferece executar a consulta como foi escrita e manter as primeiras linhas. Instruções que podem alterar dados nunca são reexecutadas sem confirmação.
  • Bancos sem subconsultas SQL (MongoDB, Redis, Cassandra e similares) executam a consulta como foi escrita e mantêm as primeiras linhas.
  • Um banner aparece quando o limite é atingido. Os totais consideram apenas as linhas carregadas.
  • Quando uma aba salva é reaberta, fontes de consulta aguardam um clique em Run query em vez de rodar automaticamente. Seleções e tabelas carregam na hora.

Temas claro e escuro

O plugin usa as cores do tema do Beekeeper Studio e muda junto com o app.

Claro Escuro
Tabela dinâmica no tema claro Tabela dinâmica no tema escuro

Instalação

Depois de publicado, instale o Pivot Tables em Tools → Manage Plugins no Beekeeper Studio (5.5 ou mais recente).

Para instalar uma build manualmente, baixe bk-plugin-pivot-tables-<version>.zip nas releases e extraia no diretório de plugins do 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

Desenvolvimento

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 o @beekeeperstudio/vite-plugin, que cria um symlink do projeto no diretório de plugins. Ative os plugins no Beekeeper Studio e abra uma tabela dinâmica por qualquer um dos menus acima.

yarn harness serve dev/host.html em http://localhost:5199/dev/host.html. Ele hospeda o plugin em um iframe e responde às requisições da API com um banco SQLite em memória com 5.000 pedidos de exemplo, para que a interface e as exportações possam ser trabalhadas sem o Beekeeper Studio. Parâmetros de query:

  • command=new-pivot|pivot-selection|pivot-query|pivot-table escolhe a entrada de menu a emular.
  • theme=light|dark define o tema.
  • fresh=1 limpa o estado salvo da aba.
  • prod=1 carrega a build de produção de dist/ (rode yarn build antes).

docs/demo.gif é gravado a partir do harness por scripts/record-demo.cjs, então pode ser regravado após mudanças na interface. Com o yarn harness rodando:

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

Estrutura do projeto

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

O motor de tabela dinâmica gera uma grade de células com spans de linha e coluna (src/lib/pivot/grid.ts). A tabela na tela e todos os exportadores renderizam a partir dessa grade, então todos mostram o mesmo layout.

Publicando versões

  1. Execute bin/make-release.sh. Ele sugere a próxima versão a partir das tags existentes, define version em manifest.json e package.json, faz o commit e envia uma tag correspondente, como v1.0.0.
  2. O workflow de release testa, compila e cria uma release rascunho no GitHub com manifest.json e bk-plugin-pivot-tables-<version>.zip. Revise e publique.
  3. Para aparecer no Plugin Manager, adicione uma entrada em plugins.json no beekeeper-studio-plugins.

Limitações

  • Os filtros das abas de tabela são repassados aos plugins pelas builds do Beekeeper Studio que incluem a mudança de filtros do serializeTab. Versões mais antigas abrem a tabela inteira (com o limite de linhas); ainda é possível digitar uma cláusula WHERE no editor de origem.
  • A grade mostra as primeiras 500 linhas e 300 colunas de tabelas dinâmicas muito grandes (“Show more” carrega mais linhas). As exportações sempre incluem tudo.
  • Imagens incluem as primeiras 2.000 linhas.
  • Exportações em PDF não conseguem desenhar caracteres CJK, que a fonte DejaVu embutida não cobre.

Licença

GPL-3.0. Inclui as fontes DejaVu (licença Bitstream Vera) para exportações em PDF.