Projeto Painel COVID-19 — Parte II

N a Parte I do artigo mostrei todo o processo de ETL (Extract, Transform, Load) para criar os dashboards do projeto.

Mas (maldosamente) não mostrei o dashboard, então vamos ver agora como ficaram os gráficos e como foi o processo de montagem, utilizando alguns conceitos do livro Storytelling com Dados.

Lembrando que os todos os arquivos do projeto estão no meu GitHub:

COVID-19 — ruginski/DS (github.com)

Dados disponíveis

Como mostrei um pouco no artigo anterior, os dados do Paraná vêm também com a idade e sexo de cada caso. Além disso adicionei a população de cada município (extraída da base do Ministério da Saúde), faixa etária e RMC — ambas geradas pelo value mapper no ETL.

Também criei uma tabela dimensão “tempo” direto no banco de dados para diminuir a necessidade de processamento do PowerBI. Com isso nenhum tipo de transformação é feita no PowerBI — Tudo ficou concentrado no processo de ETL do Pentaho.

Com isso os dados são:

Dashboard e o storytelling

Enquanto mostro como ficaram os dashboards, vou mostrando como alguns conceitos de storytelling com dados foram aplicados.

Primeiro, sem gráficos de comida. 🍕🍩🍝

Pizza, rosca e tipo espaguete. Foram todos abolidos. 😂

Os gráficos de pizza dificultam a comparação dos valores, em comparação com os gráficos de barra. É difícil e impreciso diferenciar um tamanho de outro, principalmente com valores muito próximos.

Já no gráfico de barras a comparação entre as categorias é mais fácil, além de reduzir drasticamente a quantidade de cores e a saturação. As legendas são eliminadas colocando o nome das categorias diretamente no eixo.

Removendo a saturação

Comparando novamente os dois gráficos de pizza e barras, vemos claramente como a quantidade excessiva de elementos visuais atrapalha o entendimento do gráfico.

Todo e qualquer elemento adicionado ao gráfico consome carga cognitiva e tira a atenção do que realmente importa. Analisando o gráfico de pizza acima temos: 1 — título, 2 — 5 cores no gráfico, 3 — Totais, 4 — percentuais, 5–5 itens de legenda com 5 mais 5 cores, além do gráfico em sim (6).

Já no gráfico de barras temos: 1 — título, 2 — Uma cor no gráfico, 3 — categorias alinhadas com as barras e o gráfico com os totais dentro das barras (4).

Qual será que é mais leve e mais fácil de ler e interpretar?

Outro elemento desnecessário e que satura os gráficos são as linhas de grade e bordas. Abaixo podemos comprar o mesmo gráfico com e sem linhas de grade e bordas. Novamente a imagem fica mais leve e limpa.

Alinhamento

Um elemento visual para se tomar cuidado é o alinhamento. Eu sempre tive uma tendência de centralizar os títulos, porém eles ficam melhor alinhados quando são colocados a esquerda do gráfico.

Os dois gráficos abaixo têm informações semelhantes. O da esquerda contém o total de casos confirmados de COVID-19, no Estado do Paraná, separado por faixas etárias. O da direita contém a taxa de letalidade para o mesmo grupo de casos do gráfico anterior. Porém, o primeiro está com o título alinhado a esquerda e o segundo está centralizado. Parece insignificante, mas é inconsiente e a imagem fica bem mais estruturada e alinhada quando o título está junto das categorias do eixo y.

Gráfico sem gráfico

Esta é outra alternativa para remover de vez o gráfico de pizza e utilizei esta técnica aproveitando o espaço da barra de títulos do meu dashboard.

Ao invés de mais um gráfico, ocupando espaço precioso do dashboard, com algo mais ou menos assim:

… a barra de título foi aproveitada desta forma:

Dashboard: Brasil

Abaixo coloquei a imagem completa do dashboard com os dados da COVID-19 no Brasil.

Nós costumamos ler os gráficos em formato de “Z”. Iniciando no topo, da esquerda para a direita, depois passa em diagonal pelo centro do gráfico e novamente da esquerda para a direita.

Pensando nisso os elementos principais do gráfico precisam ficar na parte superior, onde coloquei os números macro de “total de casos”, “total de óbitos” e a “taxa de letalidade”. No meio ficou a média móvel de 7 dias dos casos. Por fim, os gráficos mais detalhados por região.

Olhando um pouco para os dados, vemos que novamente há um aumento acentuado dos casos confirmados agora em Janeiro/2021. Aparentemente as festas de final de ano estão mostrando seus efeitos. :(

Interessante também analisar a proporção de casos em cada região. Muito se fala em “total de casos”, olhando apenas para o número absoluto. Mas em termos estatísticos é importante analisar também a proporção de casos sobre o total da população.

Desta forma vemos que, apesar da região Sudeste ter o maior número total de casos (~ 2.900.000 casos), esta é a região com menor número de casos proporcionalmente (~ 3.300 casos / 100k habitantes).

Regiões do Brasil

Neste dashboard utilizei também dois gráficos de dispersão, sendo um sobre os casos e óbitos por região e outro nos 10 estados com mais casos (ambos proporcionais a cada 100.000 habitantes).

Considerando os números proporcionais vemos a região Centro-Oeste com maior número de casos (~ 5.600) e também de óbitos (~ 114). E nos estados, Roraima, com maior número de casos (~11.700) e em segundo lugar no número de óbitos (~131).

Paraná

Como comentei, a base fornecida pelo Governo do Paraná possui outros 2 campos muito úteis: idade e sexo.

Com a informação de “idade” criei um outro campo no processo de ETL para a faixa etária:

… com isso criei um gráfico com o total de casos para cada faixa etária e também a taxa de letalidade em cada faixa.

Vemos claramente que, apesar das pessoas acima de 80 anos representarem cerca de 1,7% dos casos confirmados, a taxa de letalidade para este grupo é de ~60% (24,6% entre 80 e 89 anos. 35,8% acima de 90 anos).

Aproveitando a medida da “taxa de letalidade”, criei outro gráfico mostrando esta taxa em cada cidade do Núcleo Urbano Central, que, a grosso modo, são as cidades da Região Metropolitana de Curitiba mais próximas de capital.

No visual completo adicionei na barra superior o “total de casos” e as taxas de letalidade (geral e por sexo) — eliminando a 🍕 de nossas vidas, como comentado acima.

Continuando o visual em “Z”, coloquei a evolução da taxa de letalidade ao longo do tempo e depois os gráficos mais detalhados de % de casos e letalidade por faixa etária e no NUC.

Temos medidas em DAX também!

Um dashboard não é nada sem medidas DAX. 😁

Aqui vão as principais medidas que criei:

Média móvel de 7 dias

Casos/óbitos proporcionais por 100k habitantes

Taxa de letalidade

Para chegar na taxa de letalidade, criei antes 2 outras medidas que calculam o total de casos e óbitos por município e que podem ser utilizadas em outras situações:

E com isso faço o cálculo da letalidade que é a divisão do total de óbitos pelo total de confirmados:

Para o Brasil, a medida para o cálculo da letalidade foi um pouco diferente. Como a base contém o valor acumulado de casos, foi necessário pegar a “última data” para as duas situações:

Quem tiver interesse em saber mais sobre DAX, seguem alguns links:

DAX basics in Power BI Desktop — Power BI | Microsoft Docs

DAX Guide

Excel DAX — Formulas — Tutorialspoint

DAX Formatter by SQLBI

Lista com praticamente todas as funções DAX

Mais uma lista de funções DAX

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store