Ir para o conteúdo

    Power BI

    Quando o Power BI fica lento e o problema deixa de ser o relatório

    Quando o painel demora para abrir, a primeira reação é reduzir visuais. Costuma ser o último lugar onde o tempo está sendo gasto.

    Por Samuel Silva · Openviz ·3 min de leitura

    Resposta curta

    Lentidão em Power BI quase sempre nasce de quatro causas, nessa ordem de frequência: volume que não precisava estar no modelo, relacionamentos que forçam o motor a percorrer tabelas grandes, medidas que recalculam o que poderia estar pronto e transformação pesada acontecendo na hora errada. Reduzir visuais trata o sintoma.

    Separe os dois problemas

    Abrir devagar e atualizar devagar têm causas diferentes e são frequentemente confundidos.

    A abertura lenta aponta para o modelo e para as medidas: o que o motor precisa calcular para desenhar a tela. A atualização lenta aponta para a origem e para a transformação: de onde o dado vem e o que acontece com ele no caminho. Tratar os dois como “o relatório está pesado” leva a otimizar o lugar errado.

    Volume que não precisava estar ali

    A causa mais comum é também a mais simples: o modelo carrega mais do que a decisão exige.

    • Colunas trazidas por inércia — campos de texto livre e identificadores únicos que ninguém usa custam caro em compressão.
    • Granularidade excessiva — guardar cada transação quando o painel só lê o dia agrega volume sem agregar leitura. Detalhe pode continuar acessível sob demanda.
    • Histórico completo por padrão — dez anos no modelo quando a gestão analisa dois, e os oito restantes existem apenas para o caso de alguém perguntar.

    Modelo que obriga o motor a trabalhar demais

    O modelo em estrela organiza fatos ligados a dimensões menores. Desvios desse desenho podem aumentar o trabalho em cada interação.

    Procure primeiro estes sinais:

    • Relacionamentos muitos-para-muitos ou filtros bidirecionais sem necessidade clara.
    • Cadeias longas de tabelas para responder uma única consulta.
    • Tabelas achatadas que repetem descrições em muitas linhas.

    DAX que recalcula o que já poderia estar pronto

    Cálculos repetidos em cada interação podem pesar à medida que a base cresce. Separe as regras conforme o momento em que precisam ser calculadas:

    • Carga de dados: cálculos fixos que não dependem da seleção do usuário.
    • Medidas DAX: resultados que precisam responder aos filtros e às escolhas no relatório.

    Transformação no lugar errado

    Se cada relatório repete junções, filtros e limpeza no Power Query, a equipe mantém a mesma transformação em vários lugares.

    Centralize o preparo compartilhado em uma view da origem ou em uma camada de dados. Assim, os relatórios passam a consumir os dados já tratados.

    • Uma regra de preparação compartilhada.
    • Menos processamento repetido a cada atualização.

    O ponto em que otimizar deixa de resolver

    Considere revisar a arquitetura quando vários destes sinais aparecem juntos:

    • Muitas fontes integradas dentro de cada arquivo.
    • Transformações duplicadas em diversos relatórios.
    • Atualizações que ultrapassam a janela disponível.
    • Volume de dados crescendo continuamente.

    Perguntas frequentes

    Reduzir a quantidade de visuais ajuda?
    Ajuda pouco, e apenas quando há muitos visuais complexos na mesma página. Cada visual dispara consultas, então reduzir dá um ganho perceptível em casos extremos — mas se o modelo é o gargalo, o problema volta assim que alguém filtrar.
    Vale a pena usar DirectQuery para melhorar a performance?
    Raramente por performance. DirectQuery serve quando o requisito é dado sempre atual ou quando o volume não cabe em memória; em troca, cada interação vira consulta ao banco. Modelo importado bem construído costuma ser mais rápido para leitura analítica.