Como criar um KPI dinâmico em Power BI: passo a passo
Este tutorial mostra como criar um KPI dinâmico em Power BI que apresenta o valor actual, a meta, a variação percentual e um semáforo (verde/amarelo/vermelho). Um KPI dinâmico ajuda a focar objetivos, comparar com metas e identificar rapidamente desvios no relatório.
Pré-requisitos
- Power BI Desktop instalado
- Uma tabela de factos com colunas: Date, Value, e uma tabela de Metas com Date e Target
- Noções básicas de Power Query e DAX
Passo 1: Preparar os dados e relacionamentos
Importa a tua tabela de factos (por exemplo Sales) e a tabela de Metas para o Power BI. Cria uma tabela de calendário se ainda não tiveres. Garante relacionamentos adequados entre Date da calendar e as outras tabelas.
Passo 2: Criar medidas básicas em DAX
Vamos criar medidas para Valor Actual e Meta. Estas medidas fazem a agregação correcta e permitem contexto de filtro (slicer de data, produto, etc.).
Valor Actual = SUM(Sales[Value])
Meta Total = SUM(Metas[Target])
Passo 3: Medida de variação e formatação
Cria uma medida que calcule a diferença e a percentagem entre Valor Actual e Meta Total. Esta medida será usada no cartão e nas regras de cor.
Variação = [Valor Actual] - [Meta Total]
Variação % = DIVIDE([Variação], [Meta Total], 0)
Passo 4: Criar um indicador de estado (semáforo) com lógica
Decide as regras de negócio: por exemplo, Verde quando >= 100% da meta, Amarelo entre 90% e 100%, Vermelho abaixo de 90%. Cria uma medida que devolve texto ou código de cor.
Estado KPI =
VAR pct = [Variação %]
RETURN
SWITCH(
TRUE(),
pct >= 1, "Verde",
pct >= 0.9, "Amarelo",
"Vermelho"
)
Passo 5: Criar medida de cor (HEX) para usar em formatação condicional
Para formatar visuais, cria uma medida que devolve valores HEX. Isto permite aplicar a cor dinamicamente no cartão ou numa forma.
Cor KPI =
SWITCH(
[Estado KPI],
"Verde", "#2ECC71",
"Amarelo", "#F1C40F",
"Vermelho", "#E74C3C",
"#AAAAAA"
)
Passo 6: Montar o visual do KPI
Insere três visuais Card (ou um visual KPI nativo). No primeiro Card coloca a medida [Valor Actual], no segundo Card coloca [Meta Total] e no terceiro coloca [Variação %] formatada como percentagem. Para o semáforo usa um visual de forma ou um cartão com [Estado KPI].
Passo 7: Aplicar formatação condicional
Para aplicar cor dinâmica, selecciona o visual (ex.: Card do Valor Actual) > Format > Data label (ou Background) > Conditional formatting > Format by Field value e escolhe a medida [Cor KPI]. Repete para outros elementos (bordas, fundo, ícone).
Passo 8: Melhorar com tooltips e thresholds configuráveis
Permite que o utilizador ajuste limites criando uma tabela de parâmetros ou usando What-if parameter. Cria medidas que leem esses parâmetros em vez de valores fixos (0.9 e 1) para tornar o KPI configurável.
Estado KPI Param =
VAR lim_amarelo = SELECTEDVALUE(ParamTable[AmareloThreshold], 0.9)
VAR lim_verde = SELECTEDVALUE(ParamTable[VerdeThreshold], 1)
VAR pct = [Variação %]
RETURN
SWITCH(
TRUE(),
pct >= lim_verde, "Verde",
pct >= lim_amarelo, "Amarelo",
"Vermelho"
)
Verificar o resultado
Filtra por diferentes períodos no slicer de Date e confirma que: 1) [Valor Actual], [Meta Total] e [Variação %] atualizam correctamente; 2) o texto do semáforo muda conforme esperado; 3) as cores aplicadas por formatação condicional alteram-se de acordo com o estado. Testa limites exactamente em 90% e 100% para validar a lógica.
Conclusão
Agora tens um KPI dinâmico em Power BI que mostra valor, meta, variação e um semáforo visual configurável. Próximos passos: adicionar drillthrough para detalhes, usar um visual custom com ícones e exportar para Power BI Service. Dica: mantém as métricas e thresholds documentados para que a equipa saiba como interpretar o semáforo.