Melhores práticas para obter um desempenho mais rápido na análise integrada do Power BI
Este artigo fornece recomendações para renderização mais rápida de relatórios, painéis e blocos em seu aplicativo.
Observação
O tempo de carregamento depende principalmente dos elementos relevantes para o relatório e dos próprios dados, como visuais, tamanho e complexidade das consultas e medidas dos dados. Para obter mais informações, confira o Guia de otimização do Power BI.
Atualizar ferramentas e pacotes SDK
Mantenha as ferramentas e os pacotes SDK atualizados.
- Usar a versão mais recente do Power BI Desktop.
- Instale a versão mais recente do SDK cliente do Power BI. Estamos sempre lançando novos aprimoramentos, portanto, dê uma conferida de vez em quando.
- Usar a versão mais recente do Editor Tabular.
Inicializar a inserção
Pré-carregamento
Use o powerbi.preload()
para melhorar o desempenho do usuário final. O método powerbi.preload()
baixa JavaScript, arquivos CSS e outros itens que são usados posteriormente para inserir um relatório.
Chame o powerbi.preload()
se você não inserir o relatório imediatamente. Por exemplo, se o conteúdo inserido do Power BI não aparecer na home page, use powerbi.preload()
para baixar e armazenar em cache os itens usados para inserir o conteúdo.
Como inicializar o iFrame
Observação
É necessário ter a versão 2.9 do Cliente SDK do Power BI para inicializar o iFrame.
O powerbi.bootstrap(element, config)
permite que você comece a inserção antes de todos os parâmetros necessários estarem disponíveis. A API de inicialização prepara e inicializa o iFrame.
Ao usar a API de inicialização, ainda é necessário chamar o powerbi.embed(element, config)
no mesmo elemento HTML.
Por exemplo, um dos casos de uso para esse recurso é executar a inicialização do iFrame e as chamadas de back-end para inserção em paralelo.
Dica
Use a API de inicialização, quando possível, para gerar o iFrame antes que ele fique visível para o usuário final.
Ao inserir um relatório ou outros itens do Power BI, certifique-se de que o contêiner de inserção faça parte do DOM e de que o atributo CSS de exibição não esteja definido como nenhum, pois isso pode causar comportamentos inesperados. Se você quiser ocultar o contêiner de inserção, considere usar o atributo CSS de visibilidade.
Inserir parâmetros
O método powerbi.embed(element, config)
recebe um elemento e um parâmetro de configuração. O parâmetro de configuração inclui campos que afetam o desempenho.
URL de inserção
Evite gerar a URL de inserção sozinho. Em vez disso, obtenha a URL de Inserção chamando a API Obter relatórios, Obter painéis ou Obter blocos. O parâmetro de configuração da URL é usado para melhorar o desempenho.
Permissões
Forneça permissões de Visualização, caso não pretenda inserir um relatório no modo de edição. Dessa forma, o tempo não é gasto inicializando componentes que são usados apenas no modo de edição.
Filtros, indicadores e segmentações
Normalmente, os visuais de relatório são salvos com os dados armazenados em cache. Os relatórios renderizam dados armazenados em cache enquanto as consultas são executadas. Se forem fornecidos filtros, marcadores ou segmentação, os dados armazenados em cache não serão usados, e os visuais serão renderizados somente após o término da consulta visual.
Se você inserir relatórios com os mesmos filtros, indicadores e segmentações, salve o relatório com os filtros, indicadores e segmentações já aplicados. Ao salvar o relatório desse jeito, ele será renderizado usando os dados armazenados em cache que incluem filtros, indicadores e segmentações e isso melhora o desempenho.
Como alternar entre relatórios
Se inserir vários relatórios no mesmo espaço, não gere um novo iFrame para cada relatório. Em vez disso, insira o novo relatório no mesmo iFrame para substituir o relatório anterior. Em vez disso, use powerbi.embed(element, config)
com uma configuração diferente para inserir o novo relatório.
Observação
Inserir relatórios usando a inserção para seus clientes (também conhecido como um cenário em que "o aplicativo tem dados") requer o uso de um token de inserção com permissões para todos os relatórios e modelos semânticos. Para obter mais informações, confira Gerar API de token.
Vários visuais
Ao inserir vários visuais do mesmo relatório, não gere um novo iFrame para cada visual. Use apenas um iFrame para renderizar o relatório com os visuais especificados.
Ao inserir vários visuais em apenas um iFrame, considere os pontos a seguir:
O Power BI usa iFrames para inserir um relatório. Em alguns casos, pode ser interessante adicionar mais conteúdo entre os visuais (por exemplo, texto ou gráficos que não vêm do relatório). Nesse caso, você pode necessitar de um iFrame diferente para renderizar visuais diferentes. Para obter o melhor desempenho, tente organizar os visuais para que você use o menor número possível de iFrames. Considere usar o recurso de layout personalizado para reduzir o número de iFrames.
Se você tiver visuais de relatórios ou modelos semânticos diferentes, considere unir os modelos semânticos e criar um novo relatório para que você possa incluir todos os visuais no mesmo iFrame.
Outra alternativa, caso você tenha regiões não contíguas ou dados de vários modelos semânticos, seria criar um dashboard e fixar os visuais nele. Isso permite que você:
- Inserir os blocos individuais nos iFrames não contíguos. Os blocos do painel são mais leves que os relatórios e são carregados mais rapidamente.
- Insira todo o painel em um iFrame. Isso permite ter visuais de diferentes relatórios ou modelos semânticos em um único iFrame sem criar um novo relatório.
Tenha em mente, no entanto, que os blocos do painel não são interativos e não são atualizados com a mesma frequência que os visuais.
Cache de consulta
As organizações com a capacidade do Power BI Premium ou do Power BI Embedded podem aproveitar o cache de consulta para acelerar os relatórios associados a um modelo semântico.
Saiba mais sobre o cache de consulta no Power BI.
Medir o desempenho
Eventos de desempenho
Para medir o desempenho de inserção, você pode usar dois eventos:
- Evento carregado: o tempo de inicialização do relatório (o logotipo do Power BI desaparece quando o carregamento é concluído).
- Evento renderizado: o tempo até que o relatório seja totalmente renderizado usando dados reais. O evento renderizado é disparado sempre que o relatório é renderizado novamente (ou seja, após a aplicação de filtros). Para medir um relatório, faça os cálculos no primeiro evento gerado.
Os dados armazenados em cache são renderizados quando disponíveis, mas nenhum evento adicional é gerado.
Saiba mais sobre a manipulação de eventos.
Performance Analyzer
Para verificar o desempenho de elementos do relatório, você pode usar o recurso Performance Analyzer no Power BI Desktop. O Performance Analyzer permite exibir e fazer registros em log, que medem o desempenho de cada um dos elementos do relatório.
Saiba mais sobre o Performance Analyzer.
Observação
Lembre-se sempre de comparar o desempenho do relatório inserido com o desempenho no site do powerbi.com. Isso pode ajudá-lo a entender a origem dos problemas de desempenho