Minicurso de Power BI para RH, do zero ao dashboard
Este é o material escrito das aulas acima. Cobre os mesmos cinco pilares, na mesma ordem, e serve pra consultar depois, quando você estiver com o Power BI aberto e travar em algum ponto.
O que você monta neste minicurso
No fim das aulas você tem um dashboard de RH funcionando, construído do dado cru até a tela final. O caminho é o mesmo que um analista percorre num projeto real: trazer a base, limpar, modelar, calcular os indicadores e montar a tela que a diretoria vai abrir.
Os indicadores que aparecem no caso são os que sustentam conversa de gestão de pessoas: turnover com recorte de voluntário e involuntário, headcount com movimentação, absenteísmo e tempo de casa. O guia abaixo destrincha cada um e depois percorre os cinco pilares da construção.
Se o que você procura antes é o conceito, e não a construção, o artigo Dashboard de People Analytics (RH) do zero cobre essa parte com calma.
Os indicadores que sustentam a conversa com a diretoria
Dashboard de RH costuma nascer errado por excesso. Trinta indicadores numa tela só, cada um com uma cor, e nenhuma decisão sai dali. A régua útil é simples: se o número muda e ninguém faz nada diferente, ele não precisa estar no painel principal.
Turnover
É o indicador que abre qualquer conversa sobre RH com a diretoria, porque ele tem preço. A conta básica é o número de desligamentos no período dividido pelo headcount médio do mesmo período, em percentual.
O que separa um turnover útil de um número solto são os recortes. Turnover voluntário e involuntário são histórias opostas: num, a pessoa sai porque quer; no outro, é decisão da empresa. Somar os dois num indicador só esconde exatamente o que interessa. Depois vêm os cortes por área, por gestor, por tempo de casa e por faixa salarial. É neles que a causa aparece.
Headcount e movimentação
Headcount parece o indicador mais simples do painel, e é onde mora a maior armadilha de modelagem. O número de pessoas na empresa é uma foto de um instante, e quase toda base guarda movimentação, que é filme. Se o modelo não resolve isso, o painel devolve o headcount de hoje pra qualquer mês que o usuário selecionar, e ninguém percebe até alguém conferir na mão.
Junto dele andam admissões e desligamentos no período, que são o que explica a variação. Headcount sem movimentação mostra o saldo e esconde o giro: dez entradas e dez saídas aparecem como estabilidade perfeita.
Absenteísmo
Percentual de horas ou dias não trabalhados sobre o previsto. É o indicador que antecipa problema de clima e de sobrecarga antes de virar desligamento, e por isso vale acompanhar por área e por gestor, não só no agregado da empresa.
Tempo de casa
Menos indicador, mais dimensão de análise. Distribuir o quadro por faixa de tempo de casa (até 3 meses, 3 a 6, 6 a 12, 1 a 2 anos, mais de 2) muda a leitura de quase todos os outros números. Turnover concentrado nos três primeiros meses é problema de seleção ou de integração. Concentrado depois de dois anos é problema de carreira. São causas diferentes e ações diferentes.
Custo e tempo de contratação
Tempo médio pra fechar uma vaga e custo por contratação são os indicadores que traduzem RH pra linguagem de diretoria financeira. Ficam melhor num painel de recrutamento próprio, com o painel principal mostrando só o resumo.
Os cinco pilares pra construir o dashboard
Esta é a espinha do minicurso, e a ordem importa. Quase todo dashboard que dá problema depois foi construído pulando um destes.
Extração
É trazer o dado pra dentro do Power BI, e a decisão que pesa aqui é de onde. Planilha exportada do sistema de folha resolve pra começar e cobra depois: alguém precisa exportar todo mês, o nome do arquivo muda, alguém renomeia uma coluna e o painel quebra.
Se existe banco de dados, conecte no banco. Se só existe exportação, padronize a pasta e o formato antes de construir qualquer coisa, e conecte na pasta, não no arquivo. Trocar a fonte depois de o modelo estar pronto custa muito mais do que acertar isso no primeiro dia.
Vale um cuidado específico de RH: essa base tem dado pessoal. Salário, CPF, avaliação de desempenho e motivo de desligamento não deveriam trafegar pra todo mundo que abre o relatório. Decida o que entra antes de importar, porque o que não entra no modelo não vaza depois.
Estruturação
É o Power Query, e é onde se decide se o modelo vai ser fácil ou penoso. O trabalho aqui é deixar cada tabela com uma linha por evento e uma coluna por atributo, sem coluna de mês espalhada na horizontal, sem cabeçalho duplo, sem total no meio dos dados.
Duas coisas aparecem quase sempre em base de RH: data em texto, que precisa virar data de verdade pra qualquer análise temporal funcionar, e a mesma pessoa escrita de formas diferentes em tabelas diferentes. Resolva a chave antes de relacionar, não depois.
Modelagem
É montar o relacionamento entre as tabelas. O desenho que funciona é o modelo estrela: as tabelas de evento no centro (movimentações, ponto, folha) e as tabelas de apoio em volta (colaborador, área, cargo, calendário).
A tabela de calendário não é opcional. Sem ela, comparação com o mesmo mês do ano anterior, acumulado no ano e média móvel não funcionam de forma confiável. E ela precisa ser contínua, cobrindo todos os dias do período, não só os dias em que houve movimento.
Aqui também se resolve o problema do headcount citado acima. Quadro é uma posição num instante e a base guarda entrada e saída, então o número de pessoas em qualquer data é uma conta, não uma coluna.
Cálculos
É o DAX. A regra prática que economiza muito retrabalho: prefira medida a coluna calculada. Coluna ocupa memória e congela o resultado no momento da atualização. Medida é calculada no contexto do que o usuário está olhando, que é justamente o que um dashboard precisa.
Comece pelas medidas base (contagem de admissões, de desligamentos, headcount na data) e só depois monte as derivadas em cima delas. Turnover é uma divisão entre duas medidas que já existem, não uma fórmula gigante escrita do zero. Modelo com medida base bem feita cresce sem virar bagunça.
Admissões = COUNTROWS( fMovimentacao ) -- com a fMovimentacao filtrada por tipo
Desligamentos =
CALCULATE(
COUNTROWS( fMovimentacao ),
fMovimentacao[Tipo] = "Desligamento"
)
-- Headcount é uma CONTA, não uma coluna: quem entrou até a data e não saiu.
Headcount =
VAR DataRef = MAX( dCalendario[Data] )
RETURN
CALCULATE(
DISTINCTCOUNT( fMovimentacao[ColaboradorID] ),
fMovimentacao[DataAdmissao] <= DataRef,
ISBLANK( fMovimentacao[DataDesligamento] )
|| fMovimentacao[DataDesligamento] > DataRef,
REMOVEFILTERS( dCalendario )
)Com as três acima prontas, o turnover é uma divisão entre medidas que já existem, e não uma fórmula escrita do zero. Use DIVIDE em vez da barra: ela já trata a divisão por zero, que acontece sempre que um filtro deixa o headcount vazio.
Headcount Médio = AVERAGEX( VALUES( dCalendario[AnoMes] ), [Headcount] )
Turnover % = DIVIDE( [Desligamentos], [Headcount Médio] )
-- Voluntário e involuntário são histórias opostas. Somar os dois esconde a causa.
Turnover Voluntário % =
DIVIDE(
CALCULATE( [Desligamentos], fMovimentacao[Motivo] = "Pedido de demissão" ),
[Headcount Médio]
)
Absenteísmo % = DIVIDE( SUM( fPonto[HorasAusentes] ), SUM( fPonto[HorasPrevistas] ) )Visualização
É onde a análise vira decisão, ou não vira. O erro clássico é distribuir tudo com o mesmo peso: doze gráficos do mesmo tamanho, cada um disputando atenção.
Uma tela de RH que funciona costuma ter três camadas. Em cima, os poucos números que respondem "como estamos": headcount, turnover do período, absenteísmo. No meio, a evolução no tempo, que mostra se está melhorando ou piorando. Embaixo, o detalhe por área, cargo e gestor, que é onde a pessoa investiga depois de ver algo estranho em cima.
E escolha o gráfico pela pergunta. Evolução no tempo pede linha. Comparação entre categorias pede barra. Composição de um total pede barra empilhada ou uma tabela bem feita, quase nunca pizza com onze fatias.
O que tem no minicurso
São 12 aulas em vídeo, distribuídas em 3 módulos, na mesma ordem do player acima.
1. Introdução
- Boas Vindas
- Pilares do Power BI
- Download dos Materiais
2. Dashboard de RH
- Case de Hoje
- Pilar 1 - Extração
- Pilar 2 - Estruturação
- Pilar 3 - Modelagem
- Pilar 4 - Cálculos
- Pilar 5 - Visualização de Dados
- Tela de Fundo
- Análises
3. Plataforma Xperiun
- Conheça a Plataforma Xperiun
Os erros que mais aparecem
Dashboard que ninguém abre. Quase sempre porque foi construído a partir do que o dado permite, não da pergunta que o gestor faz. Antes de abrir o Power BI, escreva as cinco perguntas que o painel precisa responder. Se um gráfico não responde nenhuma delas, ele sai.
Número que não bate com o sistema. Na maior parte das vezes é regra de negócio implícita: alguém conta afastado como ativo e o painel não, ou o desligamento entra na data do aviso e não na da baixa. Combine a definição de cada indicador com quem usa, por escrito, e deixe a definição visível no próprio relatório.
Filtro de data que não filtra. Sintoma de calendário ausente ou relacionado na coluna errada. É a causa número um de "o painel mostra o mesmo valor pra qualquer mês".
Salário aberto pra quem não devia ver. Em RH isso não é um detalhe de interface, é incidente. Se o mesmo relatório atende gestores de áreas diferentes, segurança de linha deixa de ser opcional.
Por onde seguir
Se você está começando agora, faça nesta ordem: uma pergunta, três tabelas, calendário, quatro medidas base e uma tela só. Um painel pequeno que a diretoria abre toda segunda vale mais que um projeto de seis meses que ninguém usou.
As aulas acima mostram esse caminho inteiro aplicado a um caso de RH, do dado cru até a tela final. O material de apoio está na aula "Download dos Materiais", no primeiro módulo.
