Este guia descreve como e por que usar a API Google Sheets para criar tabelas dinâmicas nas suas planilhas.
O que é uma tabela dinâmica?
As tabelas dinâmicas resumem os dados da planilha agregando, classificando, contando ou calculando a média dos dados automaticamente e exibindo os resultados resumidos em uma nova tabela. Uma tabela dinâmica funciona como uma espécie de consulta a um conjunto de dados de origem. Esses dados de origem estão em outro local da planilha, e a tabela dinâmica apresenta uma visualização processada deles.
Por exemplo, considere o seguinte conjunto de dados de vendas:
| A | B | C | D | E | F | G | |
| 1 | Categoria do item | Número do modelo | Custo | Quantidade | Região | Vendedor | Data de envio | 
| 2 | Wheel | W-24 | US$ 20,50 | 4 | Oeste | Beth | 01/03/2016 | 
| 3 | Porta | D-01X | US$ 15,00 | 2 | Sul | Amir | 15/03/2016 | 
| 4 | Mecanismo | ENG-0134 | US$ 100 | 1 | Norte | Carmen | 20/03/2016 | 
| 5 | Quadro | FR-0B1 | US$ 34,00 | 8 | Leste | Hannah | 12/03/2016 | 
| 6 | Painel | P-034 | US$ 6,00 | 4 | Norte | Devyn | 02/04/2016 | 
| 7 | Painel | P-052 | US$ 11,50 | 7 | Leste | Erik | 16/05/2016 | 
| 8 | Wheel | W-24 | US$ 20,50 | 11 | Sul | Sheldon | 30/04/2016 | 
| 9 | Mecanismo | ENG-0161 | US$ 330,00 | 2 | Norte | Jessie | 02/07/2016 | 
| 10 | Porta | D-01Y | US$ 29,00 | 6 | Oeste | Armando | 13/03/2016 | 
| 11 | Quadro | FR-0B1 | US$ 34,00 | 9 | Sul | Yuliana | 27/02/2016 | 
| 12 | Painel | P-102 | US$ 3,00 | 15 | Oeste | Carmen | 18/04/2016 | 
| 13 | Painel | P-105 | US$ 8,25 | 13 | Oeste | Jessie | 20/06/2016 | 
| 14 | Mecanismo | ENG-0211 | US$ 283,00 | 1 | Norte | Amir | 21/06/2016 | 
| 15 | Porta | D-01X | US$ 15,00 | 2 | Oeste | Armando | 03/07/2016 | 
| 16 | Quadro | FR-0B1 | US$ 34,00 | 6 | Sul | Carmen | 15/07/2016 | 
| 17 | Wheel | W-25 | US$ 20,00 | 8 | Sul | Hannah | 02/05/2016 | 
| 18 | Wheel | W-11 | US$ 29,00 | 13 | Leste | Erik | 19/05/2016 | 
| 19 | Porta | D-05 | US$ 17,70 | 7 | Oeste | Beth | 28/06/2016 | 
| 20 | Quadro | FR-0B1 | US$ 34,00 | 8 | Norte | Sheldon | 30/03/2016 | 
Você pode usar uma tabela dinâmica para criar um relatório mostrando quantos números de cada modelo foram vendidos em cada região:

Para conferir o código-fonte usado para gerar essa tabela dinâmica, consulte a seção Exemplo abaixo.
Depois que uma tabela dinâmica é colocada em uma planilha, os usuários podem mudar de forma interativa a estrutura e os detalhes do resumo usando a interface do usuário das Planilhas.
Como trabalhar com tabelas dinâmicas
Uma definição de tabela dinâmica está associada a uma única célula em uma planilha. Embora a aparência renderizada seja de muitas células em altura e largura, programaticamente ela está localizada em uma única coordenada de célula. Essa célula se torna o canto superior esquerdo da tabela dinâmica renderizada, com extensão horizontal e vertical determinada pela definição.
Adicionar uma tabela dinâmica
Para adicionar uma tabela dinâmica, use o método batchUpdate e forneça uma solicitação updateCells. Use essa solicitação para fornecer uma definição de PivotTable como o conteúdo de uma célula, conforme mostrado abaixo:
{
  "updateCells": {
    "rows": {
      "values": [
        {
          "pivotTable": "MyPivotTable"
        }
      ],
      "start": {
        "sheetId": "sheetId",
        "rowIndex": 0,
        "columnIndex": 0
      },
      "fields": "pivotTable"
    }
  }
}
Isso coloca a tabela dinâmica descrita por MyPivotTable na planilha especificada, com o canto superior esquerdo na célula A1. A altura e a largura da tabela dinâmica são dinâmicas. Você especifica apenas a origem.
O tipo PivotTable permite especificar:
- Intervalo de dados de origem
 - Um ou mais campos cujos dados vão formar as linhas da tabela dinâmica
 - Um ou mais campos cujos dados vão formar as colunas da tabela dinâmica
 - Critérios de filtragem e agregação
 - Layout da tabela dinâmica
 
Modificar e excluir tabelas dinâmicas
Não há solicitações explícitas para modificar ou excluir uma tabela dinâmica. Em vez disso, use uma solicitação updateCells com conteúdo de célula diferente:
- Para modificar uma tabela dinâmica, crie uma definição de PivotTable modificada e atualize a célula usando-a, de maneira semelhante à adição de uma nova tabela dinâmica.
 - Para excluir uma tabela dinâmica, atualize a célula com valores vazios. Por exemplo, consulte a amostra Excluir uma tabela dinâmica.
 
Casos de uso
Há muitos usos diferentes para as tabelas dinâmicas em uma ampla variedade de áreas, incluindo análise estatística, aplicativos de ERP, relatórios financeiros e muito mais. Os casos de uso clássicos de tabelas dinâmicas incluem itens como:
- Total de vendas por região e trimestre
 - Salário médio por cargo e local
 - Contagem de incidentes por produto e hora do dia
 
O número de aplicações possíveis das tabelas dinâmicas é vasto, e a capacidade de gerá-las programaticamente é poderosa. É possível gerar tabelas dinâmicas que oferecem suporte à análise interativa, mas são adaptadas a circunstâncias específicas, por exemplo:
- Analisar dados de incidentes das últimas 24 horas
 - Ver ou analisar dados agregados correspondentes à conta selecionada
 - Analisar dados de vendas de territórios pertencentes ao usuário atual
 
Exemplo
Este exemplo cria uma tabela dinâmica de um conjunto de dados para produzir o relatório "número do modelo por região" mostrado na introdução desta página. Para mais exemplos, consulte a página de amostra de tabela dinâmica.