- Tabela dinâmica é um recurso essencial que transforma planilhas em ferramentas de análise, permitindo resumir rapidamente grandes volumes de dados sem programação nem matemática avançada
- Pito Salas, da Lotus, idealizou uma ferramenta baseada em cliques para poupar os usuários do incômodo de escrever fórmulas complexas ao criar estatísticas resumidas por categoria e tabelas cruzadas
- Steve Jobs percebeu o potencial desse recurso enquanto buscava um software matador que gerasse demanda pelos computadores NeXT, o que levou ao desenvolvimento do Lotus Improv
- As flexible views da equipe da Lotus mais tarde foram incorporadas ao Lotus 1-2-3 e ao Excel, e foi no Excel que o nome pivot table se consolidou
- Hoje, as tabelas dinâmicas são amplamente usadas no Excel e no Google Sheets, e conseguem condensar dados com centenas de milhares de linhas em um relatório resumido de uma página com apenas alguns cliques
A ferramenta para resumir dados sem fórmulas
- Tabela dinâmica é um recurso de planilha que permite a usuários comuns analisar rapidamente grandes conjuntos de dados
- Mesmo sem saber programar ou ter conhecimento avançado de matemática, o usuário pode resumir dados apontando e clicando com o mouse
- O fundador da Apple, Steve Jobs, também aparece como alguém que reconheceu rapidamente o valor desse recurso
A história de desenvolvimento que levou ao NeXT e ao Lotus Improv
- Em 1985, depois de não conseguir derrotar a IBM no mercado de computadores corporativos, Jobs foi afastado da presidência do conselho da Apple e logo fundou a NeXT para tentar desafiar a IBM novamente
- Enquanto preparava o lançamento do computador NeXT em 1988, Jobs procurava um software matador que criasse demanda pelo produto
- Jobs via no primeiro software de planilha amplamente usado, o VisiCalc, lançado em 1979, um fator central para o grande sucesso do Apple II
- No processo de encontro com a Lotus, criadora da popular planilha Lotus 1-2-3 para computadores IBM, Jobs teve contato com uma forma inicial da tabela dinâmica
- Na época, Pito Salas, da P&D da Lotus, observava como as pessoas calculavam estatísticas resumidas por categoria em planilhas, isto é, tabelas cruzadas
- Uma empresa de venda de bicicletas, por exemplo, poderia querer ver a quantidade vendida por mês ou a receita por país
- Naquele tempo, era preciso escrever fórmulas complexas manualmente, o que era trabalhoso e propenso a erros
- Salas concluiu que era necessário um software que produzisse estatísticas resumidas por clique, em vez de exigir a digitação de fórmulas
- A equipe da Lotus chamou a ferramenta de flexible views, e recursos semelhantes no Microsoft Excel e no Google Sheets hoje são chamados de tabelas dinâmicas
A reação de Jobs e a transformação em produto
- Quando a equipe da Lotus mostrou o protótipo inicial a Jobs, segundo Salas, Jobs o considerou “a coisa mais legal”
- Jobs convenceu a Lotus a desenvolver o software de tabela dinâmica exclusivamente para os computadores NeXT
- O resultado foi o Lotus Improv
- Embora os computadores NeXT tenham fracassado comercialmente, o Lotus Improv deixou um grande impacto
- Os elementos de flexible views do Improv mais tarde entraram no Lotus 1-2-3 e no Excel
- O Excel foi, de fato, o primeiro produto a usar o termo pivot table
- Bill Jelen, evangelista do Excel e coautor de Pivot Table Data Crunching, considera Salas o “pai da tabela dinâmica”
- Salas vê sua contribuição para a tabela dinâmica como uma das realizações mais gratificantes de sua vida, mas acredita que foi um resultado construído sobre a base de muitas outras pessoas
Uso no Excel e no Google Sheets
- Hoje, a tabela dinâmica é um dos recursos mais importantes e mais usados na caixa de ferramentas dos usuários avançados de planilhas
- Jelen afirma que a tabela dinâmica permite criar um relatório resumido de uma página a partir de dados com centenas de milhares de linhas com apenas 4 a 6 cliques, sendo a forma mais rápida de obter respostas em grandes conjuntos de dados
- É difícil saber o número exato de usuários cotidianos do Excel, mas a base global de usuários do Excel está na casa das centenas de milhões
- As tabelas dinâmicas costumam aparecer no topo, ou perto dele, das listas dos recursos mais úteis do Excel
- Analistas de dados usam tabelas dinâmicas para vários objetivos, como saúde pública, crescimento econômico e análise de eficácia publicitária
- Justine Shakespeare, gerente sênior de programas da organização sem fins lucrativos de direitos trabalhistas Verité, usa tabelas dinâmicas para analisar dados de pesquisas com entrevistas de trabalhadores migrantes em cadeias globais de suprimentos
Exemplos reais e materiais de aprendizado
- Um repórter da Quartz precisava de um resumo do total de remessas no primeiro semestre de cada ano a partir de dados mensais de remessas dos EUA para o México desde 1995
- Os números necessários puderam ser obtidos inserindo uma tabela dinâmica, selecionando os dados necessários e filtrando os meses a excluir
- Para aprender mais sobre como usar tabelas dinâmicas, é possível assistir ao vídeo do “Excel ninja” Cody Baldwin
- Usuários do Google Sheets podem consultar a introdução a tabelas dinâmicas do especialista em Sheets Ben Collins
1 comentários
Comentários do Hacker News
Aprendi neste fim de semana que dá para usar a função FILTER para agrupar linhas/células com base no valor de uma célula
=FILTER(Stories!B2:D13,Stories!F2:F13=A2)O primeiro argumento,
Stories!B2:D13, é o intervalo de células que contém as histórias, e o segundo argumento,Stories!F2:F13=A2, é a coluna que compara cada célula com o valor deA2. As linhas correspondentes são copiadas para o local onde a fórmula=FILTERfoi colocadaEstou usando isso para organizar automaticamente a lista de histórias por sprint, e é útil para trabalhos como planejamento de incremento de programa
Outra fórmula útil do Excel que aprendi recentemente é
=IF(NOT(ISBLANK(A2)),HYPERLINK("https://jira-instance.atlassian.net/browse/…),"")Se
A2não estiver vazio, ela anexa esse valor ao fim da URL e mostra como link um texto comPROJECT-mais o valor deA2. Eu poderia ter feito algo mais elegante com Emacs e org-mode, mas precisava compartilhar com as pessoas responsáveis pelo trabalho, então Excel era a escolha certaAjuda a documentar o que foi feito para obter a contagem de linhas
Tabelas dinâmicas baseadas em cubos SSAS talvez sejam a melhor ferramenta de análise self-service que já vi. Por “melhor”, quero dizer pelo critério de quanto usuários reais a utilizam
A capacidade de fazer usuários de negócio usarem algo imediatamente no ambiente que eles já têm é enorme para a adoção real, especialmente em comparação com algo como Looker. Looker também é uma bagunça por outros motivos
Além disso, em 9 de cada 10 vezes as pessoas querem adicionar transformações ou cálculos leves aos dados, então nada é tão bom quanto algo que já está dentro do Excel
O ponto negativo é que o suporte a OSX é praticamente inexistente e escrever MDX é realmente doloroso
Ofereço isso aos PMs do produto pelo qual sou responsável, e eles conseguem responder a muitas perguntas só com tabelas dinâmicas, sem escrever SQL separado
Penso nisso com bastante frequência quando se fala em boas ferramentas de análise na área de dados. Até ferramentas de BI bem evoluídas, como metabase, não lidam com dimensões tão bem quanto tabelas dinâmicas
Fizemos um pouco de trabalho web para lidar com permissões e salvar visualizações, mas o desenvolvimento inteiro provavelmente levou menos de uma semana
No Looker Explore também dá para baixar como CSV ou Excel; fiquei curioso sobre o que estava faltando ali
Tabelas dinâmicas são, na verdade, mais próximas de uma aproximação fraca de uma planilha multidimensional de verdade; por exemplo, havia o Lotus Improv: https://instadeq.com/blog/posts/no-code-history-lotus-improv...
O modelo de planilha é um bom exemplo. O Excel talvez seja a melhor coisa do Microsoft Office, mas, como resultado, se você não consegue fazer editoração desktop suficientemente bem no Word, normalmente precisa ir para o InDesign; e, se você não é um profissional de publicação, isso muitas vezes é uma escolha exagerada
Uso Anaplan todos os dias no trabalho, e uma versão SaaS moderna, baseada em nuvem, do Improv seria exatamente algo assim. Parece que ela virou uma empresa de bilhões de dólares porque não mirou de frente o mercado de planilhas, mas adotou uma abordagem que convive bem com planilhas
A conclusão do texto sobre o Improv é que o principal erro estratégico foi tentar vender o Improv para o mercado existente de planilhas. Ele diz que, se a Lotus tivesse vendido para um segmento em que um modelo mais estruturado fosse uma ‘funcionalidade’, não um ‘bug’, teria ganhado tempo para aprender, melhorar e refinar o modelo e, depois, satisfazer também um mercado maior; a Anaplan parece não ter cometido esse erro. Ela criou um nicho no mercado de EPM, ou gestão de desempenho empresarial
Em algum momento é preciso admitir que a abstração foi escolhida errado. Dá uma forte sensação de Zalgo
Na época, eu não sabia que tabelas dinâmicas eram outra abordagem para esse conceito
Outro motivo para abandonar planilhas foi o desempenho. Não lembro quão bom ou ruim o Improv era nesse aspecto, mas os conjuntos de dados com que eu lidava na época não se encaixavam bem em planilhas, então acho que eu não teria continuado a usá-lo
Ainda assim, acho que eles tiveram bastante dificuldade para explicar o que era uma tabela dinâmica e se esse único recurso era motivo suficiente para migrar para um novo aplicativo e uma nova plataforma de hardware
No Google Ads, criamos um monte de dashboards com aparência incrível, mas, ao fazer pesquisas com usuários, ficou bem claro que, no fim, o que as pessoas queriam era apenas ver seus próprios dados em tabelas dinâmicas
Exportação para planilha + tabela dinâmica permite fazer tudo isso. Um profissional de escritório razoavelmente habilidoso consegue fazer sem passar por um loop infinito de backlog-especificação-sprint-desenvolvimento-teste-reespecificação-sprint
Se não serve para realizar o trabalho, ninguém se importa que pareça bonito. Além disso, beleza é algo muito subjetivo. A equipe estava desperdiçando tempo justamente onde achava que estava agregando valor
Pouco depois, saí e fui para a equipe do Google Sheets
A Microsoft roubou diretamente a tabela dinâmica da minha antiga empresa, a Brio Technology, e de seu produto DataPivot: https://en.wikipedia.org/wiki/Brio_Technology
Segundo o CEO, a Microsoft o chamou a Redmond para fazer uma oferta insultuosamente baixa de aquisição da empresa e ameaçou criar seu próprio produto e arruinar a Brio caso ele recusasse. Ele recusou, e depois a MS adicionou tabelas dinâmicas ao Excel
O texto também menciona a Lotus, que parece ter criado um produto semelhante mais ou menos na mesma época. Os fundadores da Brio também estiveram envolvidos com uma empresa chamada Metaphor, e talvez algumas das ideias tenham se desenvolvido lá
O produto da Brio vinha com um banco de dados de exemplo contendo o conteúdo da adega do CEO, e foram justamente esses dados que apareceram também nas primeiras caixas do Microsoft Office
Só que a Stac tinha uma patente e contratou advogados para processar a Microsoft por violação de patente. A Microsoft também não recuou de bom grado, mas, depois que o tribunal decidiu que ambos os lados precisavam de uma licença para lançar seus produtos, a Stac foi até grandes clientes OEM e lhes ofereceu licenças
Ou eles licenciavam a patente, ou não poderiam lançar o produto; com os OEMs pressionando a Microsoft, isso levou a um acordo nada ruim para a Stac. Vejo isso como um dos melhores exemplos de como patentes de software podem ajudar a concorrência
O conceito de agregar colunas de dados categorizados não foi inventado pela Brio Technology
Mas acho que o grande problema era ele não fazer parte do Lotus 123. Então, quando o Excel colocou tabelas dinâmicas diretamente dentro da planilha, ficou muito mais útil. Pelo menos para mim
Sou engenheiro e também tenho familiaridade com SQL, mas a capacidade de trabalhar rapidamente no Excel e criar tabelas dinâmicas na hora foi uma grande ajuda na minha carreira. Especialmente à medida que fui migrando mais para produto e gestão de negócios
Tabelas dinâmicas permitem ver muito rapidamente decomposições por várias dimensões e ir mudando a análise para tomar decisões com rapidez. Fora ferramentas existentes para domínios bem definidos, não há muita coisa comparável
Consigo disparar consultas SQL muito mais rápido do que clicar no Excel, e a reprodutibilidade também é melhor, porque é mais fácil copiar e colar uma consulta do histórico do que refazer toda a formatação em uma planilha do Excel depois
Mas muitas vezes o esforço de levar dados de uma planilha para um banco de dados é excessivo, então acho que, mesmo para engenheiros, usar tabelas dinâmicas não é uma má escolha
Uso isso o tempo todo no Pandas. Acabei de dar uma aula relacionada a isso e, depois que você entende a sintaxe, é muito útil
Ferramentas inteligentes como o DuckDB reconheceram essa utilidade e a dor de fazer isso em SQL comum, e adicionaram PIVOT à implementação. É muito útil
pivot_longerepivot_wider; seria bom ter algo assim também no PostgresEspero que a situação tenha melhorado, porque tabelas dinâmicas são realmente úteis
Ela também gerava SQL, e foi graças a isso que aprendi um pouco de SQL
Então fico me perguntando o que exatamente é uma tabela dinâmica. Nunca usei nem vi uma, e o vídeo incorporado também não carregou no navegador
O que aprendi com este texto é que é uma forma fácil de mostrar dados dentro de uma planilha, e que talvez tenha sido inventada na Lotus
Não tenho a menor ideia do que ela realmente faz nem de como se usa
Pessoalmente, acho paradoxalmente muito útil e, ao mesmo tempo, uma bagunça completa
Isto provavelmente é mais sobre uma implementação específica do que sobre tabelas dinâmicas em geral, mas, quando se tenta fazer algo um pouco mais avançado, frequentemente dá para sentir que elas ficam devendo
Para citar alguns pontos: tanto no Excel quanto no Google Sheets, a forma como os “valores” são gerados é muito limitada, de maneiras diferentes
A forma como filtragem/ordenação funciona em tabelas dinâmicas também não é das mais intuitivas nem flexíveis
É muito difícil controlar elementos de UI como cabeçalhos e estilos, e muitas vezes você acaba criando uma tabela dinâmica, copiando para outro lugar e ajustando várias coisas manualmente. Aí ela deixa de poder ser atualizada dinamicamente, o que dilui o propósito
Não sou especialista em planilhas, então talvez eu esteja deixando passar alguma coisa
Uso principalmente para encontrar rapidamente valores inesperados nas colunas dos dados de origem. Mas, com o surgimento de fórmulas de transbordamento como
=unique(), tenho usado cada vez menos até para issoQuando as pessoas querem mais coisas de tabelas dinâmicas, em geral acho que elas estão mais perto de pedir o Power Query. A funcionalidade já existe, mas muita gente tem medo dela. Talvez não no HN, mas é assim entre usuários comuns
Isso me incomodou tanto que resolvi escrever meu próprio motor de planilhas, e este é um dos pontos de dor que quero corrigir
Você pode alterar a ordem de linhas/colunas apenas clicando nos cabeçalhos, e aplicar filtros especificando, com uma entrada simples, quais itens manter ou excluir
Tabelas dinâmicas são definitivamente poderosas, mas o nome não ajuda, e no Excel sempre leva um tempo para lidar direito com a UI
Gosto da funcionalidade Categories do Numbers no MacOS, porque é muito mais fácil de usar, mas, quando você esbarra nos limites, há restrições bem irritantes
Hoje em dia, para trabalhos complexos, muitas vezes o mais fácil é exportar a planilha como CSV e rodar consultas SQL com CSVQ