Pular para o conteúdo principal

Análise de manufatura no Power BI: OEE, qualidade e rendimento

Crie um painel de manufatura do Power BI que abrange cálculo de OEE, métricas de qualidade, rendimento de produção, análise de tempo de inatividade e gráficos SPC — com fórmulas DAX completas.

E
ECOSIRE Research and Development Team
|19 de março de 202614 min de leitura2.7k Palavras|

Instalações de fabricação de classe mundial operam com 85%+ OEE. O fabricante médio funciona a 60%. Essa diferença de 25 pontos percentuais se traduz diretamente na capacidade – uma instalação que melhora de 60% para 85% OEE acrescenta 41% mais produção sem uma única máquina nova ou alugada.

Parte da nossa série Manufatura na era da IA

Leia o guia completo

A diferença entre a classe mundial e a média quase sempre não é o equipamento – é a visibilidade para ver o desperdício e os dados para eliminá-lo.

O Power BI, conectado ao MES (Manufacturing Execution System) e aos dados do ERP, fornece essa visibilidade. Este guia cria uma plataforma completa de análise de manufatura que abrange cálculo de OEE, gráficos SPC de qualidade, análise de causa raiz de tempo de inatividade e gerenciamento de rendimento — com as fórmulas DAX precisas que os engenheiros de manufatura precisam.

Principais conclusões

  • OEE = Disponibilidade × Desempenho × Qualidade (classe mundial = 85%+)
  • Cada componente OEE requer fluxos de dados separados: registros de tempo de inatividade, contagens de produção, registros de sucata
  • Gráficos SPC (Controle Estatístico de Processo) no Power BI usam recursos visuais personalizados ou limites de controle calculados
  • A análise de Pareto do tempo de inatividade (os 20% principais motivos causam 80% do tempo de inatividade) impulsiona a melhoria priorizada
  • O rendimento na primeira passagem (FPY) e os defeitos por milhão de oportunidades (DPMO) são os principais KPIs de qualidade
  • A análise de rendimento compara a capacidade real versus a teórica usando a teoria do gargalo
  • Os conjuntos de dados de streaming do Power BI permitem a atualização de painéis OEE quase em tempo real a cada minuto
  • Integração ERP (Odoo Manufacturing, SAP PP, Dynamics 365 SCM) fornece contexto de ordem de serviço

Modelo de dados para análise de manufatura

Tabelas principais de fabricação

Production_Runs (uma linha por execução de produção/ordem de serviço):

ColunaDescrição
RunIDID da ordem de serviço ou execução de produção
MachineIDDimensão FK para máquina
ProductIDFK para Produto
ShiftIDFK para mudança
StartTimeExecute data e hora de início
EndTimeExecute data e hora de término
PlannedStartTimeInício programado
PlannedEndTimeFim programado
PlannedQuantityQuantidade prevista de produção
ActualQuantityUnidades reais produzidas
GoodQuantityUnidades aprovadas na verificação de qualidade
ScrapQuantityUnidades defeituosas
ReworkQuantityUnidades que necessitam de retrabalho
IdealCycleTimeSegundos por unidade na velocidade de projeto

Downtime_Events (uma linha por parada):

ColunaDescrição
DowntimeIDID exclusivo
MachineIDFK para máquina
RunIDFK para produção (se aplicável)
StartTimeInício do tempo de inatividade
EndTimeFim do tempo de inatividade
DurationMinutesDuração total do tempo de inatividade
DowntimeCategoryPlanejado (PM, mudança) / Não planejado
DowntimeReasonCodeCódigo de razão específico
DowntimeReasonDescDescrição
IsScheduledMaintenanceSinalizador de manutenção planejada
ResponseTimeMinutesTempo até a resposta do técnico
RepairTimeMinutesTempo de reparo ativo

Quality_Events (uma linha por defeito/inspeção):

ColunaDescrição
InspectionIDID exclusivo
RunIDFK para execução de produção
MachineIDFK para máquina
InspectionDateData/hora da inspeção
DefectCodeFK para tipo de defeito
DefectCountNúmero de defeitos encontrados
SampleSizeUnidades inspecionadas
MeasuredValueMedição variável (para SPC)
IsInSpecBooleano — dentro da tolerância

Dim_Máquina:

  • MachineID, MachineName, Line, Cell, Department, MachineType, IdealRunRate, PlannedCapacity

Dim_Shift:

  • ShiftID, ShiftName, StartTime, EndTime, PlannedMinutes, PlannedBreakMinutes

Cálculo de OEE no Power BI

OEE = Disponibilidade × Desempenho × Qualidade

Disponibilidade

Disponibilidade = Tempo de Execução Real / Tempo de Produção Planejado

// Planned Production Time (from shift schedule minus planned downtime)
Planned Production Time =
SUMX(
    Production_Runs,
    DATEDIFF(Production_Runs[PlannedStartTime],
              Production_Runs[PlannedEndTime], MINUTE)
)

// Unplanned Downtime (excludes scheduled maintenance, changeovers)
Unplanned Downtime =
CALCULATE(
    SUM(Downtime_Events[DurationMinutes]),
    Downtime_Events[DowntimeCategory] = "Unplanned"
)

// Changeover Time (planned but reduces availability)
Changeover Time =
CALCULATE(
    SUM(Downtime_Events[DurationMinutes]),
    Downtime_Events[DowntimeReasonCode] = "CHANGEOVER"
)

// Actual Run Time
Actual Run Time = [Planned Production Time] - [Unplanned Downtime] - [Changeover Time]

// OEE Availability
Availability =
DIVIDE([Actual Run Time], [Planned Production Time], 0)

Desempenho

Desempenho = (Tempo de Ciclo Ideal × Contagem Total) / Tempo de Execução Real Ou equivalentemente: Produção Real / Produção Máxima Teórica

// Theoretical Maximum Output at ideal run rate
Theoretical Max Output =
SUMX(
    Production_Runs,
    [Actual Run Time Per Run] / Production_Runs[IdealCycleTime]
)

// Actual total output (good + scrap + rework)
Total Output =
SUM(Production_Runs[ActualQuantity])

// OEE Performance
Performance =
DIVIDE([Total Output], [Theoretical Max Output], 0)

// Performance per machine (for benchmarking)
Machine Performance =
DIVIDE(
    SUMX(Production_Runs, Production_Runs[ActualQuantity]),
    SUMX(Production_Runs,
        DATEDIFF(Production_Runs[StartTime], Production_Runs[EndTime], MINUTE) /
        RELATED(Dim_Machine[IdealCycleTime]) * 60
    ),
    0
)

Qualidade

Qualidade = Boa Produção / Produção Total (exclui todos os defeitos)

// Good Quantity (first pass, no rework)
Good Quantity = SUM(Production_Runs[GoodQuantity])

// Total Quantity Produced (good + scrap + rework)
Total Quantity = SUM(Production_Runs[ActualQuantity])

// OEE Quality
Quality Rate =
DIVIDE([Good Quantity], [Total Quantity], 0)

// First Pass Yield (no rework, no scrap)
First Pass Yield =
DIVIDE(
    SUM(Production_Runs[GoodQuantity]),
    SUM(Production_Runs[ActualQuantity]),
    0
)

OEE geral

// Overall Equipment Effectiveness
OEE =
[Availability] * [Performance] * [Quality Rate]

// OEE Status (for conditional formatting)
OEE Status =
SWITCH(TRUE(),
    [OEE] >= 0.85, "World Class",    -- 85%+
    [OEE] >= 0.75, "Good",           -- 75-85%
    [OEE] >= 0.60, "Acceptable",     -- 60-75%
    "Poor"                            -- <60%
)

// OEE Loss Analysis (what is the primary constraint)
Primary OEE Constraint =
SWITCH(TRUE(),
    [Availability] < [Performance] && [Availability] < [Quality Rate], "Availability",
    [Performance] < [Quality Rate], "Performance",
    "Quality"
)

// OEE trend (for sparkline visualization)
OEE Weekly Avg =
CALCULATE(
    [OEE],
    DATESINPERIOD(Date[Date], LASTDATE(Date[Date]), -7, DAY)
)

Análise de tempo de inatividade

KPIs de tempo de inatividade e Pareto

// Total Unplanned Downtime Hours
Unplanned Downtime Hours =
DIVIDE(
    CALCULATE(
        SUM(Downtime_Events[DurationMinutes]),
        Downtime_Events[DowntimeCategory] = "Unplanned"
    ),
    60,
    0
)

// Mean Time Between Failures (MTBF)
MTBF =
DIVIDE(
    [Actual Run Time],
    CALCULATE(COUNTROWS(Downtime_Events),
              Downtime_Events[DowntimeCategory] = "Unplanned"),
    0
)

// Mean Time to Repair (MTTR)
MTTR =
AVERAGEX(
    FILTER(Downtime_Events, Downtime_Events[DowntimeCategory] = "Unplanned"),
    Downtime_Events[RepairTimeMinutes]
)

// Downtime % by reason (for Pareto chart)
Downtime Pareto % =
DIVIDE([Unplanned Downtime Hours],
    CALCULATE([Unplanned Downtime Hours], ALL(Downtime_Events[DowntimeReasonCode])),
    0
)

// Cumulative Downtime % (for Pareto 80/20 line)
Cumulative Downtime % =
DIVIDE(
    SUMX(
        FILTER(
            ALL(Downtime_Events[DowntimeReasonCode]),
            RANKX(ALL(Downtime_Events[DowntimeReasonCode]),
                  [Unplanned Downtime Hours], , DESC) <=
            RANKX(ALL(Downtime_Events[DowntimeReasonCode]),
                  [Unplanned Downtime Hours], , DESC)
        ),
        [Unplanned Downtime Hours]
    ),
    CALCULATE([Unplanned Downtime Hours], ALL(Downtime_Events[DowntimeReasonCode])),
    0
)

Mapa de calor do tempo de inatividade

Crie um mapa térmico de tempo de inatividade por máquina x hora do dia para identificar padrões relacionados aos turnos:

// Downtime by Hour of Day (for heatmap rows)
Downtime by Hour =
CALCULATE(
    SUM(Downtime_Events[DurationMinutes]),
    Downtime_Events[HourOfDay] = SELECTEDVALUE(HourDim[Hour])
)

Análise de qualidade: gráficos SPC

Os gráficos de controle estatístico de processo monitoram se um processo está sob controle. O Power BI cria gráficos SPC usando cálculos de limite de controle no DAX.

Limites de controle para gráfico de barras X

// Process Mean (X-bar)
Process Mean =
AVERAGE(Quality_Events[MeasuredValue])

// Standard Deviation of measurements
Process StdDev =
STDEV.P(Quality_Events[MeasuredValue])

// Upper Control Limit (UCL = mean + 3σ)
UCL = [Process Mean] + 3 * [Process StdDev]

// Lower Control Limit (LCL = mean - 3σ)
LCL = [Process Mean] - 3 * [Process StdDev]

// Upper Warning Limit (mean + 2σ)
UWL = [Process Mean] + 2 * [Process StdDev]

// Lower Warning Limit (mean - 2σ)
LWL = [Process Mean] - 2 * [Process StdDev]

// Out of Control flag (point outside 3σ limits)
Out of Control =
IF(
    Quality_Events[MeasuredValue] > [UCL] ||
    Quality_Events[MeasuredValue] < [LCL],
    "Out of Control",
    "In Control"
)

// Process Capability Index (Cpk)
Cpk =
MIN(
    DIVIDE([UCL] - [Process Mean], 3 * [Process StdDev], 0),
    DIVIDE([Process Mean] - [LCL], 3 * [Process StdDev], 0)
)

Principais KPIs de qualidade

// Defects per Million Opportunities (DPMO)
DPMO =
DIVIDE(
    SUM(Quality_Events[DefectCount]),
    SUM(Quality_Events[SampleSize]) * [Opportunities per Unit],
    0
) * 1000000

// Sigma Level (from DPMO)
Sigma Level =
SWITCH(TRUE(),
    [DPMO] < 3.4, 6,
    [DPMO] < 233, 5,
    [DPMO] < 6210, 4,
    [DPMO] < 66807, 3,
    [DPMO] < 308537, 2,
    1
)

// Defect Rate %
Defect Rate = DIVIDE(SUM(Quality_Events[DefectCount]), SUM(Quality_Events[SampleSize]), 0)

// Scrap Rate
Scrap Rate =
DIVIDE(
    SUM(Production_Runs[ScrapQuantity]),
    SUM(Production_Runs[ActualQuantity]),
    0
)

// Cost of Poor Quality (COPQ)
COPQ =
SUMX(
    Production_Runs,
    (Production_Runs[ScrapQuantity] + Production_Runs[ReworkQuantity]) *
    RELATED(Dim_Product[StandardCost])
)

Análise de rendimento

KPIs de rendimento de produção

// Actual Throughput (units per hour)
Throughput =
DIVIDE(
    SUM(Production_Runs[ActualQuantity]),
    SUMX(Production_Runs,
        DATEDIFF(Production_Runs[StartTime], Production_Runs[EndTime], HOUR)
    ),
    0
)

// Theoretical Maximum Throughput
Max Throughput =
SUMX(
    Dim_Machine,
    60 / Dim_Machine[IdealCycleTime]  -- Units per minute × 60
) * 60  -- Per hour

// Capacity Utilization
Capacity Utilization =
DIVIDE([Throughput], [Max Throughput], 0)

// Schedule Attainment (actual vs planned quantity)
Schedule Attainment =
DIVIDE(
    SUM(Production_Runs[ActualQuantity]),
    SUM(Production_Runs[PlannedQuantity]),
    0
)

// Changeover Time (as % of planned time)
Changeover % =
DIVIDE(
    [Changeover Time],
    [Planned Production Time],
    0
)

Análise de balanceamento de linha

Identifique máquinas gargalos usando comparação de rendimento:

// Machine Throughput Rate (for bottleneck identification)
Machine Throughput Rate =
DIVIDE(
    CALCULATE(SUM(Production_Runs[GoodQuantity])),
    CALCULATE(
        DATEDIFF(MIN(Production_Runs[StartTime]),
                 MAX(Production_Runs[EndTime]), HOUR)
    ),
    0
)

// Bottleneck indicator (lowest throughput machine in a line)
Is Bottleneck =
IF(
    [Machine Throughput Rate] = MINX(
        FILTER(ALL(Dim_Machine), Dim_Machine[Line] = SELECTEDVALUE(Dim_Machine[Line])),
        [Machine Throughput Rate]
    ),
    "Bottleneck",
    "OK"
)

Arquitetura do painel de fabricação

Página 1: Resumo do OEE

  • Medidor OEE (meta atual vs classe mundial de 85%)
  • Disponibilidade, Desempenho, Qualidade — três cartões KPI
  • Tendência OEE 30 dias (gráfico de linhas)
  • OEE por máquina (gráfico de barras, classificado de baixo para alto)
  • OEE por turno (gráfico de barras — identifique diferenças de desempenho nos turnos)
  • Mapa de calor OEE (Máquina × Dia da semana)

Página 2: Análise do tempo de inatividade

  • Total de horas de inatividade não planejadas (cartão KPI)
  • MTBF e MTTR (dois cartões KPI)
  • Downtime Pareto (combinação barra + linha com percentual cumulativo)
  • Tempo de inatividade por máquina (gráfico de barras horizontais)
  • Tempo de inatividade por turno (barra agrupada)
  • Tendência de tempo de inatividade de 90 dias (gráfico de linhas)
  • Eventos de tempo de inatividade ativos (tabela em tempo real se estiver transmitindo)

Página 3: Painel de qualidade

  • Rendimento na primeira passagem (medidor vs alvo)
  • Nível DPMO e Sigma (cartões KPI)
  • Taxa de sucata por produto (gráfico de barras)
  • Tendência COPQ (gráfico de linhas mostrando custos de questões de qualidade)
  • Defeito Pareto por código de defeito
  • Gráfico SPC (gráfico de linhas com linhas de referência UCL, LCL, UWL, LWL)

Página 4: Taxa de transferência e capacidade

-% de cumprimento do cronograma (medidor)

  • Produção real vs planejada (barra agrupada por dia)
  • Utilização da capacidade por máquina (mapa de calor)
  • Análise do tempo de troca (gráfico de barras por produto/máquina)
  • Tendência de produção (gráfico de área, real versus meta)
  • Tabela de destaque da máquina gargalo

Perguntas frequentes

O que é OEE e por que ele é importante para a fabricação?

OEE (Eficácia Geral do Equipamento) é a métrica padrão ouro para produtividade de fabricação. Combina três fatores: Disponibilidade (equipamento funcionando quando deveria), Desempenho (funcionando na velocidade certa) e Qualidade (produzindo boas peças). Um OEE de 60% significa que você está realizando apenas 60% de sua capacidade teórica – os outros 40% são desperdício. Melhorar o OEE aumenta diretamente a produção sem investimento de capital em novos equipamentos.

O Power BI pode se conectar a sistemas MES para obter OEE em tempo real?

Sim — a maioria dos sistemas MES (Ignition SCADA, GE Proficy, Siemens MES, Rockwell FactoryTalk) oferece suporte à conectividade de banco de dados (SQL Server, Oracle) ou acesso à API REST. O Power BI se conecta a esses bancos de dados e pode usar conjuntos de dados de streaming para atualizações quase em tempo real (a cada 30 segundos a 1 minuto). Para obter OEE em tempo real (menos de um segundo), use o Azure IoT Hub ou o Event Hub com conjuntos de dados do Power BI Streaming enviados diretamente dos sensores do chão de fábrica.

Quais dados uma fábrica precisa para começar a monitorar o OEE?

Requisitos mínimos de dados para OEE básico: (1) Dados de contagem de produção — quando a máquina funcionou e quantas unidades foram produzidas, (2) Eventos de tempo de inatividade — quando a máquina parou e por quê, (3) Contagens de qualidade — quantas unidades boas e defeituosas. Isso pode vir da entrada manual do operador (Excel/papel → Power BI), MES básico ou dados do contador do PLC. Não são necessários dados perfeitos para iniciar — mesmo a visibilidade imperfeita do OEE gera melhorias.

Como faço para construir um gráfico SPC no Power BI?

Crie um gráfico de linhas com os valores de medição como a série principal. Adicione quatro medidas adicionais (UCL, LCL, UWL, LWL) como séries de linhas separadas no gráfico. Formate UCL/LCL como linhas tracejadas vermelhas e UWL/LWL como linhas tracejadas laranja. A formatação condicional em pontos de dados destaca os pontos fora de controle em vermelho. O visual personalizado SPC integrado do AppSource fornece detecção de regras da Western Electric (execuções acima/abaixo do centro, tendências, etc.) além da abordagem de limite de controle básico.

Qual ​​é um cronograma realista para implementar um painel de manufatura do Power BI?

Um painel OEE básico (máquina única, entrada manual de dados via lista do SharePoint ou Excel) pode ser criado em 1 a 2 semanas. Uma plataforma completa de análise de manufatura conectada a MES e ERP (multimáquinas, multilinhas, com SPC de qualidade, Pareto de tempo de inatividade e análise de rendimento) normalmente leva de 6 a 12 semanas. A fase mais longa é sempre a integração e a qualidade dos dados: carimbos de data/hora da máquina, códigos de motivo de tempo de inatividade e trocas de produtos precisam ser capturados de forma consistente antes que a análise agregue valor.

Como o ECOSIRE conecta o Power BI ao Odoo Manufacturing?

Odoo Manufacturing armazena ordens de serviço de produção, consumo de materiais, verificações de qualidade e solicitações de manutenção no PostgreSQL. ECOSIRE conecta o Power BI diretamente ao banco de dados PostgreSQL do Odoo (em uma réplica de leitura) e modela as tabelas de fabricação (mrp.production, mrp.workcenter, quality.check, Maintenance.request) no modelo de dados OEE descrito neste guia. Lidamos com o planejamento de capacidade em nível de centro de trabalho e a integração de qualidade como parte de nossa prática de integração Odoo ERP.


Próximas etapas

A análise de manufatura no Power BI — quando conectada aos dados da área de produção — fornece a visibilidade em tempo real que separa os fabricantes de classe mundial dos de desempenho médio. OEE, análise da causa raiz do tempo de inatividade e gráficos SPC de qualidade fornecem às equipes de operações as informações para melhorar antes que os problemas se agravem.

ECOSIRE constrói painéis de manufatura conectados a sistemas MES, plataformas ERP (Odoo, SAP, Dynamics 365) e fluxos de dados IoT. Nossos serviços de desenvolvimento de painéis do Power BI abrangem toda a pilha de análise de manufatura, desde o design do modelo de dados até os painéis prontos para produção.

Entre em contato com nossa equipe de análise de manufatura para discutir as fontes de dados do chão de fábrica e projetar uma plataforma de análise do Power BI que impulsione melhorias mensuráveis ​​de OEE.

E

Escrito por

ECOSIRE Research and Development Team

Redação técnica

A equipe de redação técnica da ECOSIRE escreve sobre Odoo ERP, e-commerce com Shopify, agentes de IA, análise de dados com Power BI, automação com GoHighLevel e boas práticas de software empresarial. Nossos guias ajudam as empresas a tomar decisões de tecnologia bem fundamentadas.

ECOSIRE

Desbloqueie decisões baseadas em dados

Painéis personalizados do Power BI, modelagem de dados e soluções analíticas incorporadas.

Mais de Manufatura na era da IA

ERP para moda e vestuário: PLM, dimensionamento e coleções sazonais

Como os sistemas ERP gerenciam o ciclo de vida dos produtos de moda, matrizes tamanho-cor, coleções sazonais, fornecimento de tecidos, gerenciamento de amostras e canais B2B mais DTC.

ERP para fabricação de móveis: BOM, pedidos personalizados e entrega

Saiba como os sistemas ERP lidam com móveis personalizados, listas técnicas complexas, estoque de madeira e tecido, dimensões personalizadas, agendamento de entrega e PDV de showroom.

Odoo vs Epicor: comparação de ERP de manufatura 2026

Comparação de ERP de fabricação Odoo vs Epicor Kinetic cobrindo MRP, chão de fábrica, controle de qualidade, programação, IoT, preços e cronogramas de implementação.

Gêmeos Digitais na Manufatura: Conectando o Físico e o Digital

Entenda como a tecnologia de gêmeos digitais está transformando a produção, desde a manutenção preditiva em nível de máquina até a simulação completa de fábrica e estratégias de integração de ERP.

ERP para o setor automotivo: gerenciamento de peças, serviços e fabricação

Guia completo de ERP para a indústria automotiva – gerenciamento de peças, operações de revendedores, serviços de veículos, fabricação e cadeia de suprimentos para 2026.

Indústria 5.0: Colaboração Homem-Máquina na Manufatura

Entenda a Indústria 5.0 e como a colaboração homem-máquina está transformando a produção — desde cobots e exoesqueletos até montagem guiada por IA e cadeias de suprimentos resilientes.