Fala Incomparável,
No artigo de hoje vamos criar do zero um dashboard de PCM utilizando o Power BI para calcular os principais KPIs da área como Quantidade de Falhas, Quantidade de Equipamentos que falharam, MTBF, MTTR, Downtime e Disponibilidade.
Dá uma olhada abaixo e veja como ficou incrível o nosso dashboard de PCM.
Dica do Mestre: Como descobrir e entender os principais KPIs de uma área específica?
1. Procure no Google “KPI da área de Manutenção”, o resultado serão diversas páginas mostrando quais são os KPIs e como calcular.
2. Converse com um Especialista, ninguém melhor para te explicar sobre determinado assunto, como PCM por exemplo, do que uma pessoa que trabalhou ou trabalha todos os dias com isso.
Cabe destacar que, existem particularidades que são inerentes ao negócio e para tratar disso basta alinhar com o seu cliente, beleza?!
Então, agora que você já sabe como encontrar os principais KPIs de PCM, bora colocar a mão na massa.
Base de Dados PCM
A base de dados abordada nesse artigo é focada na identificação das falhas, onde cada linha da tabela fato corresponde a uma falha.
Além disso, essa base de dados contém 03 tabelas dimensão: dEquipamentos, dOcorrencia, dOperadores.
Dica do Mestre:
Para entender um pouco mais sobre modelagem de dados no Power BI, e descobrir o que é tabela fato e o que é tabela dimensão, assista à live gratuita Como EVOLUIR do Excel para o Power BI onde explico tudo isso e muito mais.
Agora, clique aqui e faça o donwload da base de dados.
Tratamento de Dados no Power BI
Após fazer o download da base, é hora de carregar e tratar esses arquivos no Power BI, para isso execute os passos abaixo:
- Clique em “Obter Dados”
- Escolha a opção “Pasta de Trabalho do Excel”
- Na janela aberta, selecione a base de dados que você fez o download.
Em seguida:
- Selecione as tabelas: fPCM, dEquipamentos, dOcorrencia, dOperadores
- Clique em “Transformar Dados”
Agora, na tabela fPCM faça as seguintes transformações:
- Clique em “Adicionar Coluna”
- Em seguida, clique em “Coluna Personalizada”
- Nomeie como “Horas_Indisponiveis”
- Subtraia “Data Encerramento” – “Data Criação”
Os próximos passos são:
- Selecione a coluna “Horas_Indisponiveis”
- Agora, clique na guia “Transformar”
- Clique em “Duração”
- Escolha a opção “Total de Horas”
Em seguida, com a coluna “Data Criação” selecionada execute os seguintes passos:
- Clique na guia “Transformar”
- Em seguida, clique em “Dividir Coluna” > “Por Delimitador”
- Clique em “Personalizado” e escolha a opção “Espaço”
- Clique em “OK”
Agora, basta repetir os 4 últimos steps para a coluna “Data Encerramento”.
Veja abaixo como ficou a tabela após as últimas transformações, note que as colunas foram renomeadas.
Por último, crie uma tabela dimensão Calendário executando os seguintes passos:
- Clique em “Nova Fonte” > Escolha a opção “Consulta Nula”
- Clique em “Editor Avançado”
- Cole o script M disponibilizado logo abaixo da figura 10
- Clique em “Concluído”
- Renomeie a consulta como “dCalendario”
- Clique em “Fechar e Aplicar”
DataMin = List.Min(fPCM[Data Criação]),
DataMax = List.Max(fPCM[Data Criação]),
AnoMin = Date.Year(DataMin),
AnoMax = Date.Year(DataMax),
DataInicial = #date(AnoMin, 1, 1),
DataFinal = #date(AnoMax, 12, 31),
Duracao = Duration.Days(DataFinal – DataInicial) + 1,
Source = List.Dates(DataInicial, Duracao, #duration(1, 0, 0, 0)),
#"Converted to Table" = Table.FromList(
Source,
Splitter.SplitByNothing(),
null,
null,
ExtraValues.Error
),
#"Changed Type" = Table.TransformColumnType s(#"Converted to Table", {{"Column1", type date}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type", {{"Column1", "Data"}}),
#"Inserted Year" = Table.AddColumn(#"Renamed Columns", "Ano", each Date.Year([Data]), Int64.Type),
#"Inserted Month" = Table.AddColumn(#"Inserted Year", "Mes", each Date.Month([Data]), Int64.Type),
#"Inserted Month Name" = Table.AddColumn(
#"Inserted Month",
"Nome do Mes",
each Date.MonthName([Data]),
type text
),
#"Inserted Quarter" = Table.AddColumn(
#"Inserted Month Name",
"Trimestre",
each Date.QuarterOfYear([Data]),
Int64.Type
),
#"Inserted Day" = Table.AddColumn(#"Inserted Quarter", "Dia", each Date.Day([Data]), Int64.Type),
#"Inserted Day Name" = Table.AddColumn(
#"Inserted Day",
"Nome do dia",
each Date.DayOfWeekName([Data]),
type text
),
#"Inserted Day of Week" = Table.AddColumn(
#"Inserted Day Name",
"Dia da semana",
each Date.DayOfWeek([Data]),
Int64.Type
),
#"Coluna Personalizada Adicionada" = Table.AddColumn(
#"Inserted Day of Week",
"Mes-Ano",
each Text.Combine({Date.ToText([Data], "MMM"), "-", Date.ToText([Data], "yyyy")}),
type text
),
#"Personalização Adicionada" = Table.AddColumn(
#"Coluna Personalizada Adicionada",
"Class Mes-Ano",
each 100 * [Ano] + [Mes]
),
#"Tipo Alterado" = Table.TransformColumnTypes(
#"Personalização Adicionada",
{{"Class Mes-Ano", Int64.Type}}
),
#"Colocar Cada Palavra Em Maiúscula" = Table.TransformColumns(
#"Tipo Alterado",
{{"Nome do Mes", Text.Proper, type text}, {"Mes-Ano", Text.Proper, type text}}
),
#"Primeiros caracteres extraídos" = Table.TransformColumns(
#"Colocar Cada Palavra Em Maiúscula",
{{"Nome do Mes", each Text.Start(_, 3), type text}}
)
in
#"Primeiros caracteres extraídos"
Dica do Mestre: Se você está começando agora e precisa aprender um pouco mais sobre Power BI antes de construir esse dashboard de PCM, acesse agora meu CURSO GRATUITO DE POWER BI.
Modelagem de PCM no Power BI
Agora, vamos para a parte de modelagem, em outras palavras relacionamento entre tabelas no Power BI.
Para fazer isso é muito simples, basta identificar os campos que são semelhantes entre as tabelas fato e dimensão, e arrastar conforme mostrado abaixo.
Em seguida, repita o processo com as demais tabelas. As colunas que devem ser relacionadas estão na figura 12.
Importando Background no Power BI
Para importar um background no Power BI, execute os passos abaixo:
- Clique em “Formatar sua página do relatório”
- Em seguida, clique em “Tela de Fundo”
- Clique em “Procurar”
- Selecione o arquivo
- Em “Ajuste da Imagem”, escolha a opção “Ajuste”
- Em “Transparência”, coloque “0%”
E se você quiser aprender como criar um background personalizado para o Power BI, clique aqui e descubra o poder do storytelling para criar dashboards com design premium.
Calculando KPIs de PCM no Power BI
Enfim, vamos aos cálculos. Todas as métricas e KPIs que foram utilizados neste dashboard de PCM com Power BI estão listadas logo abaixo, é só você clicar em “Nova Medida” e em seguida copiar e colar aí no seu arquivo.
Qtd Paradas =COUNTROWS ( fPCM )
Qtd Paradas em Aberto =
VAR vDataFinal =
MAX ( dCalendario[Data] )
VAR vFalhasAbertas =
FILTER (
ALL ( fPCM ),
fPCM[Data Criação] <= vDataFinal
&& (
fPCM[Data Encerramento] > vDataFinal
|| ISBLANK ( fPCM[Data Encerramento] )
)
)
RETURN
COUNTROWS ( vFalhasAbertas ) + 0
Qtd Operadores =
DISTINCTCOUNT ( fPCM[ID Operador] )
Qtd Equipamentos =
DISTINCTCOUNT ( fPCM[ID Equipamento] )
Horas Paradas =
SUM ( fPCM[Horas Indisponíveis] )
Horas Disponíveis =
VAR vDataInicial =
MIN ( dCalendario[Data] )
VAR vDataFinal =
MAX ( dCalendario[Data] )
VAR vQtd_Dias =
DATEDIFF ( vDataInicial, vDataFinal, DAY ) + 1
RETURN
vQtd_Dias * 24 * [Qtd Equipamentos]
Downtime =
DIVIDE ( [Horas Paradas], [Horas Disponíveis] )
MTTR =
DIVIDE ( [Horas Paradas], [Qtd Paradas] )
MTBF =
DIVIDE ( [Horas Disponíveis] – [Horas paradas], [Qtd Paradas] )
Disponibilidade =
DIVIDE ( [MTBF], [MTBF] + [MTTR] )
Storytelling com Dados no Power BI
Finalmente, chegamos na parte de storytelling, ou seja, construção de uma narrativa com os dados que foram tratados e modelados.
Para construir um storytelling semelhante ao utilizado neste exemplo, siga os passos abaixo:
- Cards: utilize o visual “Cartão de linha múltipla” e importe do marketplace o visual “Sparkline by OKVIZ” para fazer o minigráfico
- Para criar esse visual foram utilizados 04 gráficos de área sobrepostos, onde cada um é ativado por um botão. Detalharei um pouco mais sobre esse item na sequência
- Nesse campo, foi utilizado um gráfico de rosca com as métricas “Downtime” e “Disponibilidade”
- Nesse campo, foi utilizado um gráfico de barras clusterizado, onde no campo “Eixo” contém a coluna “Equipamento” da tabela “dEquipamento” e no campo valores contém a métrica “Horas Paradas”
- Este item é um visual de matriz, onde o campo “Linhas” contém a coluna “Ocorrencia” da tabela “dOcorrencia”, o campo “Colunas” contém a coluna “nome do mês” da tabela “dCalendario”, e o campo “Valores” contém a métrica “Qtd Paradas”
- Por último, utilize o visual “Segmentação de Dados” para criar os filtros suspensos utilizando campos das tabelas dimensão
Entretanto, você deve estar se perguntado como faz para trocar os visuais utilizando botões? Todavia, existem muitas maneiras de fazer isso, mas nesse exemplo vamos utilizar botões acionados por indicadores.
Execute os passos abaixo:
- Duplique o gráfico de área e coloque exatamente em cima do gráfico já existente
- Troque a métrica do segundo gráfico por “Qtd Equipamentos”
- Não esqueça do storytelling hein, veja que a cor que representa a quantidade de equipamentos é alaranjado
- Clique em “Botões” conforme mostrado na figura 16
- Escolha a opção “Em Branco”
- Repita os passos 4 e 5 para inserir mais um botão
Agora, vamos configurar os indicadores de cada botão.
- Veja abaixo que temos 02 botões, 01 que irá mostrar a quantidade de falhas/paradas e outro que irá mostrar a quantidade de equipamentos.
- Clique na guia “Exibição”
- Clique em “Indicadores” e “Seleção” para ativar seus devidos painéis
- No painel de seleção, clique no olhinho para o ocultar o gráfico de quantidade de equipamentos (o gráfico alaranjado)
- No painel de indicadores, clique em “Adicionar”
- Dê um nome para o indicador, nesse caso coloquei o nome de “PARADAS” mas você pode colocar outro nome se preferir
- Repita os passos 4, 5 e 6 para criar um indicador com o nome de “EQUIPAMENTOS”, e lembre-se que agora você tem que ocultar o gráfico azul e mostrar o gráfico alaranjado, OK?!
Em seguida, ajuste um detalhe muito importante. Clique nos 3 pontinhos ao lado de cada um dos indicadores e desmarque a opção “Dados”, isso irá impedir que o indicador altere os filtros ao ser selecionado.
Agora é só configurar a ação dos botões.
- Clique no botão a ser configurado
- Agora clique na guia de formatação
- Clique em “Ação”
- Em “Tipo” escolha a opção “Indicador”
- Em “Indicador” escolha o indicador que corresponde ao botão
E para testar se deu tudo certo, CRTL + Clique em cima do botão.
Por fim, é isso que temos para hoje, eu espero que você pratique bastante. Solte sua criatividade criando seu próprio background, e inserindo novas análises para começar a impressionar com Power BI hoje mesmo.
Por último e não menos importante, ao criar sua versão desse dashboard de PCM com Power BI compartilhe em suas redes sociais e me marque, combinado?!
Abraços, Leonardo Karpinski.