Visual Gerador de Relatório para Power BI

Este visual personalizado permite que você copie textos formatados diretamente do Power BI para sua área de transferência com apenas um clique, facilitando a geração de relatórios dinâmicos e textos analíticos.

Características Principais

  • Botão personalizável (cor, texto, fonte)
  • Suporte a texto formatado
  • Estados visuais interativos (hover, pressionado, copiado)
  • Cópia direta para área de transferência
  • Área de texto opcional para preview

Como Usar

1. Adicionar o Visual

  1. No Power BI Desktop, clique em "..." no painel de visualizações
  2. Selecione "Importar um visual do arquivo"
  3. Navegue até o arquivo .pbiviz e importe

2. Configurar a Medida

O visual espera uma medida DAX que retorne o texto a ser copiado. Exemplo básico:


MeuTexto =

VAR Vendedor = SELECTEDVALUE(Vendedores[Nome], "Todos")

VAR TotalVendas = SUM(Vendas[Valor])

RETURN

"Relatório de Vendas" & UNICHAR(10) &

"Vendedor: " & Vendedor & UNICHAR(10) &

"Total de Vendas: " & FORMAT(TotalVendas, "R$ #,##0.00")

3. Personalizar Aparência

No painel de formatação:

  1. Cor do Botão: Defina cores para estados normal, hover e pressionado
  2. Texto: Altere o texto do botão
  3. Fonte: Personalize família, tamanho e estilo
  4. Preview: Ative/desative área de visualização do texto

Exemplos DAX

Relatório de Vendas Mensal


RelatorioVendasMensal =

VAR Mes = SELECTEDVALUE('Calendario'[MesAno])

VAR VendasMes = SUM(Vendas[Valor])

VAR VendasMesAnterior = CALCULATE(SUM(Vendas[Valor]), DATEADD('Calendario'[Data], -1, MONTH))

VAR Variacao = DIVIDE(VendasMes - VendasMesAnterior, VendasMesAnterior)

RETURN

"RELATÓRIO DE VENDAS - " & Mes & UNICHAR(10) & UNICHAR(10) &

"Total de Vendas: " & FORMAT(VendasMes, "R$ #,##0.00") & UNICHAR(10) &

"Variação vs Mês Anterior: " & FORMAT(Variacao, "0.0%") &

IIF(Variacao >= 0, " ▲", " ▼")

KPIs de Produto


RelatorioProduto =

VAR Produto = SELECTEDVALUE(Produtos[Nome])

VAR QtdVendida = SUM(Vendas[Quantidade])

VAR QtdEstoque = SUM(Estoque[Quantidade])

VAR DiasEstoque = DIVIDE(QtdEstoque, (QtdVendida / 30))

RETURN

"RELATÓRIO DE ESTOQUE" & UNICHAR(10) & UNICHAR(10) &

"Produto: " & Produto & UNICHAR(10) &

"Quantidade em Estoque: " & FORMAT(QtdEstoque, "#,##0") & UNICHAR(10) &

"Dias de Estoque: " & FORMAT(DiasEstoque, "#,##0") & " dias" & UNICHAR(10) &

"Status: " & IIF(DiasEstoque < 15, "⚠️ CRÍTICO", "✅ NORMAL")

Análise de Clientes


PerfilCliente =

VAR Cliente = SELECTEDVALUE(Clientes[Nome])

VAR UltimaCompra = MAX(Vendas[Data])

VAR DiasUltimaCompra = DATEDIFF(UltimaCompra, TODAY(), DAY)

VAR TotalGasto = CALCULATE(SUM(Vendas[Valor]), ALL('Calendario'))

VAR TicketMedio = DIVIDE(TotalGasto, COUNTROWS(Vendas))

RETURN

"PERFIL DO CLIENTE" & UNICHAR(10) & UNICHAR(10) &

"Cliente: " & Cliente & UNICHAR(10) &

"Última Compra: " & FORMAT(UltimaCompra, "dd/mm/yyyy") &

" (" & DiasUltimaCompra & " dias atrás)" & UNICHAR(10) &

"Total Histórico: " & FORMAT(TotalGasto, "R$ #,##0.00") & UNICHAR(10) &

"Ticket Médio: " & FORMAT(TicketMedio, "R$ #,##0.00")

💡 Dicas de Uso

  1. Quebras de Linha: Use UNICHAR(10) para criar novas linhas
  2. Formatação Condicional: Use IIF() para textos dinâmicos
  3. Símbolos: Adicione emojis e símbolos Unicode para melhor visualização
  4. Variáveis: Use VAR para código mais organizado e melhor performance

🛠️ Solução de Problemas

  1. Texto Não Atualiza: Verifique se a medida está retornando valor
  2. Botão Cinza: Defina uma cor base no painel de formatação
  3. Cópia Não Funciona: Verifique permissões do navegador

📝 Notas

  • O visual suporta até 100.000 caracteres por cópia
  • Recomendado usar com filtros contextuais
  • Performance otimizada para atualizações em tempo real