Dashboard com os casos de COVID-19 no mundo via Google Data Studio

Como criei um dashboard com os casos de COVID-19 no mundo, que atualiza os dados automaticamente, utilizando a plataforma Google Data Studio e uma base de dados no Google Sheets.

Introdução

Fala ai gente, hoje venho contar um pouco sobre o dashboard que criei recentemente para dar início ao meu portfólio de projetos. E nestes tempos que vivemos, o tema escolhido não poderia ser outro: COVID19.

Vídeo

Demonstração do dashboard:

Acesse o dashboard: https://datastudio.google.com/reporting/fb21b4c7-af4c-4bfb-94d8-464f917c4c9b

Plataforma Google Data Studio

De acordo com a própria Google, o Data Studio é utilizado para transformar seus dados em relatórios e painéis informativos, fáceis de ler e de compartilhar e totalmente personalizáveis. Ou seja, é uma solução ou “quase solução” de Business Intelligence. digo isso pois, se comparada com outras plataformas de BI, o Data Studio possui grandes limitações, porém temos de lembrar que estamos tratando de uma ferramenta gratuita.

Assim como a maioria das ferramentas do G Suite, esta apresenta uma interface bem intuitiva, de fácil utilização e integra muito bem com seus “irmãos” ex: Google Analytics, Google Ads, Google Sheets, etc.
Se quiser sabe mais, acesse: https://support.google.com/datastudio/answer/6283323?hl=pt-BR

Captura de dados

Confesso que pulei algumas etapas de planejamento do processo, porém como o objetivo já era bem claro, fui logo procurar uma fonte de dados confiável e que atendesse aos requisitos para uma extração de dados simples mas que permitisse uma atualização de forma automática.

Acabei chegando nessa fonte https://www.worldometers.info/coronavirus/, que aliás já foi recomendada pelo biólogo e pesquisador brasileiro Atila Iamarino.

Os pontos que foram essenciais para a utilização desse site, além da legitimidade das informações, foi a forma como era disposta a informação – uma table em HTML – e a atualização dos dados que acontecem diariamente.

Como “banco de dados” utilizei o Google Planilhas, que se integra facilmente com o Data Studio, e para trazer os dados do site, utilizei a fórmula:

=IMPORTHTML("https://www.worldometers.info/coronavirus/#countries","table")

Esta fórmula funciona como um “web scraper”, e importa os dados de uma tabela ou lista em uma página HTML, veja abaixo o resultado:

Print da aplicação da fórmula na planilha
Print da aplicação da fórmula na planilha

Porém, esta fórmula não atualiza os dados conforme há uma atualização na fonte. Então tive que usar um script – semelhante ao VBA no Excel, mas com a linguagem Javascript – para apagar e “inputar” a fórmula de forma recorrente para assim os dados serem atualizados. Segue o código abaixo:

function getData() {
  //Insere a função =IMPORTHTML na planilha "World", na celula A1
  var sheet = SpreadsheetApp.getActive().getSheetByName('World')
  sheet.getRange('A1').activate()
  //Apaga a fórmula anterior
  sheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
  sheet.getRange('A1').activate()
  //Insere a fórmula
  .setFormula('=IMPORTHTML("https://www.worldometers.info/coronavirus/";"table")');
 //Filtra a planilha somente com os dados necessários
  var criteria = SpreadsheetApp.newFilterCriteria()
  .setHiddenValues([''])
  .build();
  SpreadsheetApp.getActiveSheet().getFilter().setColumnFilterCriteria(1, criteria);
};

Para deixar a execução desse código automática, utilizei a plataforma Google Apps Script, que permite a criação de “triggers” para execução programada. Neste caso, os dados são atualizados a cada uma hora.

Print da tela de criação de triggers no Apps Script
Print da tela de criação de triggers no Apps Script

Conexão de dados

Após validar a atualização automática de dados, fiz a conexão da planilha com o Data Studio, onde não há segredos, tudo é feito de forma bem intuitiva, onde através das colunas é feita uma leitura automática para criação de todos os campos.

Print da tela de conexão de dados da planilha com o Data Studio
Print da tela de conexão de dados da planilha com o Data Studio

A partir daí, com todos os dados tratados, começa a parte desenvolvimento do aspecto visual do relatório.
Vou ser sincero, foi algo que fui criando intuitivamente e usando outros dashboards como inspiração, e como a variedade de dados não era complexa, isso acabou dando mais liberdade para usar os gráficos de maneira espontânea.

Para acessar o dashboard: https://datastudio.google.com/reporting/fb21b4c7-af4c-4bfb-94d8-464f917c4c9b

Conclusão

Este foi um projeto relativamente simples, mas de bastante importância para início do meu portfólio. Sei que em relação aos aspectos técnicos o trabalho é um pouco “pobre”, mas tive que iniciar de uma forma simples para que o meu portfolio saísse da gaveta rs.

Se você tiver qualquer dúvida, mande nos comentários abaixo para enriquecermos o tema.

Obrigado pelo seu tempo e fique bem!