A linguagem de consulta do Google é uma maneira rápida e poderosa de analisar dados em suas planilhas do Google, que empresta muitos dos padrões usados em SQL. Este tutorial irá familiarizá-lo com os conceitos básicos de como usar consultas para responder a perguntas específicas de um conjunto de dados de amostra.
Primeiro, precisamos de alguns dados de amostra para brincar. Usaremos a função de importação para obter uma tabela de dados da população mundial da Wikipedia:
=IMPORTHTML("https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)", "table", 3)
Esta função encontra a terceira tabela no URL acima, extrai os dados de cada célula e os importa para sua Planilha Google. Legal! Mas vamos fazer mais uma coisa para facilitar um pouco a consulta desses dados.
Clique em qualquer célula com dados para destacá-la e pressione CMD + A para destacar a tabela inteira. Com toda a tabela destacada, clique em Dados > Intervalos Nomeados para abrir o painel Intervalos Nomeados — ele aparecerá da direita.
Um intervalo nomeado é um apelido que você pode dar a um grupo de células. Vamos nomear os nossos “países”.
Ótimo! Agora estamos prontos para começar a consultar!
Destaque a célula J1 — usaremos esta célula para digitar todas as consultas abaixo:
Mostre uma cópia de todo o conjunto de dados:
=QUERY(countries, "select *",1)
Mostre-me apenas as colunas Países e Região:
=QUERY(countries, "select B, C",1)
A cláusula WHERE é uma ótima maneira de começar a fazer perguntas mais específicas do seu conjunto de dados.
Mostre-me países com população maior ou igual a 100 milhões:
=QUERY(countries, "SELECT B, E where E >= 100000000")
Mostre-me países com 'es' no nome:
=QUERY(countries, "SELECT B where B contains 'es'")
Mostre-me países sem 'es' no nome:
=QUERY(countries, "SELECT B where not B contains 'es'")
Mostre-me países que começam com 'S':
=QUERY(countries, "SELECT B where B STARTS WITH 'S'")
Mostre-me os países que terminam com 's' (lembre-se de diferenciar maiúsculas de minúsculas:
=QUERY(countries, "SELECT B where B ENDS WITH 's'")
Mostre-me os países que contêm 'United':
=QUERY(countries, "SELECT B where B CONTAINS 'United'")
Vamos adicionar ainda mais especificamente a cláusula AND!
Mostre-me todos os países das Américas que também têm uma população inferior a 100.000 habitantes:
=QUERY(countries, "select B, F WHERE C = 'Americas' AND F <= 100000", 1)
As cláusulas AND podem ser encadeadas ad infinitum.
Esta consulta retorna todos os países das Américas com populações menores que 100.000 e maiores que 10.000:
=QUERY(countries, "select B, F WHERE C = 'Americas' AND F <= 100000 AND F >= 10000", 1)
Talvez uma das primeiras coisas que você queira fazer ao explorar um conjunto de dados seja ver algumas agregações simples: os valores máximo, mínimo e médio em determinados campos. Vamos encontrar a população máxima, mínima e média de 2017 para os países em nosso conjunto de dados:
=QUERY(countries, "select max(F), min(F), avg(F)", 1)
Isso é legal,
Com uma ligeira modificação podemos ver as populações máxima, mínima e média de cada continente:
=QUERY(countries, "select C, max(F), min (F), avg(F) GROUP by C", 1)
'Contar' e 'Agrupar por' juntos são outra ótima maneira de explorar um conjunto de dados. Combinados, eles permitem contar itens em uma ou mais colunas e ver e agregar visualização.
Vamos usar essas duas cláusulas para ver quantos países da nossa lista estão em cada região:
=QUERY(countries, "SELECT C, count(B) GROUP by C", 1)
Vamos adicionar a cláusula 'ORDER BY' para nos mostrar uma lista de todas as regiões, ordenadas crescentemente da mais alta para a mais baixa:
=QUERY(countries, "SELECT C, count(B) GROUP by C ORDER by C asc", 1)
A cláusula 'PIVOT' agregará valores em uma única linha.
Por exemplo, se quisermos mostrar a soma de todas as populações de 2017 por região, poderíamos usar:
=QUERY(countries, "SELECT sum(F) pivot C", 1)
Você também pode analisar seus dados realizando operações matemáticas como parte de suas consultas.
Vamos agora mostrar uma lista de países com a população de 2017 como uma porcentagem da população mundial total:
=QUERY(countries, "select B, C, (F / 7550262101) * 100", 1)
Nossos dados percentuais parecem legais, mas o cabeçalho da coluna é super legível. Poderíamos clicar na célula e renomeá-la - mas também podemos definir o nome como parte da consulta adicionando um parâmetro 'label':
=QUERY(countries, "select B, C, (F / 7550262101) * 100 Label (F / 7550262101) * 100 'Percentage'", 1)
Documentação da linguagem de consulta do Google: https://developers.google.com/chart/interactive/docs/querylanguage
Visão geral da função de consulta do Planilhas Google por Coding Is For Losers: https://codingisforlosers.com/google-sheets-query-function/#why