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:
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
Excel DAX — Formulas — Tutorialspoint