Share via


Solucionar problemas de atualização incremental e dados em tempo real

Há duas fases ao implementar uma atualização incremental e uma solução de dados em tempo real, sendo a primeira a configuração de parâmetros, filtragem e definição de uma política no Power BI Desktop e a segunda a operação inicial de atualização do modelo semântico e as atualizações subsequentes no serviço. Este artigo discute a solução de problemas separadamente para cada uma dessas fases.

Tendo particionado a tabela no serviço do Power BI, é importante ter em mente que as tabelas atualizadas incrementalmente que também estão recebendo dados em tempo real com o DirectQuery agora estão operando no modo híbrido, o que significa que operam no modo de importação e no modo DirectQuery. Todas as tabelas com relações com essa tabela híbrida atualizada incrementalmente devem usar o modo Dual para que possam ser usadas no modo de importação e DirectQuery sem penalidades de desempenho. Além disso, os visuais de relatório podem armazenar os resultados em cache para evitar o envio de consultas de volta para a fonte de dados, o que impediria a tabela de pegar as atualizações de dados mais recentes em tempo real. A seção final de solução de problemas aborda esses problemas de modo híbrido.

Antes de solucionar problemas de atualização incremental e dados em tempo real, revise Atualização incremental para modelos e dados em tempo real e informações passo a passo em Configurar atualização incremental e dados em tempo real.

Configurando no Power BI Desktop

A maioria dos problemas que ocorrem ao configurar a atualização incremental e os dados em tempo real tem a ver com o dobramento da consulta. Conforme descrito em Visão geral da atualização incremental para modelos - Fontes de dados suportadas, sua fonte de dados deve oferecer suporte à dobragem de consulta.

Problema: O carregamento de dados demora demasiado tempo

No Power Query Editor, depois de selecionar Aplicar, o carregamento de dados leva uma quantidade excessiva de tempo e recursos do computador. Existem várias causas potenciais.

Causa: incompatibilidade de tipo de dados

Esse problema pode ser causado por uma incompatibilidade de tipo de dados em que Date/Time é o tipo de dados necessário para os RangeStart parâmetros e RangeEnd , mas a coluna de data da tabela na qual os filtros são aplicados não Date/Time são do tipo de dados ou vice-versa. Tanto o tipo de dados de parâmetros quanto a coluna de dados filtrados devem ser Date/Time do tipo de dados e o formato deve ser o mesmo. Caso contrário, a consulta não poderá ser dobrada.

Solução: Verificar o tipo de dados

Verifique se a coluna de data/hora da tabela de atualização incremental é do tipo de Date/Time dados. Se a tabela não contiver uma coluna de tipo de dados, mas usar um tipo de dados inteiro, você poderá criar uma função que converta RangeStart o valor de Date/Time data/hora nos parâmetros e RangeEnd para corresponder à chave substituta inteira da tabela da fonte de dados. Para saber mais, consulte Configurar atualização incremental - Converter DateTime em inteiro.

Causa: a fonte de dados não oferece suporte à dobragem de consulta

Conforme descrito em Atualização incremental e dados em tempo real para modelos - Requisitos, a atualização incremental foi projetada para fontes de dados que oferecem suporte à dobragem de consultas. Certifique-se de que as consultas da fonte de dados estão sendo dobradas no Power BI Desktop antes de publicar no serviço, onde os problemas de dobragem de consulta podem ser significativamente agravados. Essa abordagem é especialmente importante ao incluir dados em tempo real em uma política de atualização incremental, pois a partição DirectQuery em tempo real requer dobragem de consulta.

Solução: verificar e testar consultas

Na maioria dos casos, um aviso é mostrado na caixa de diálogo Política de atualização incremental indicando se a consulta a ser executada na fonte de dados não oferece suporte à dobragem de consulta. No entanto, em alguns casos, pode ser necessário garantir que a dobragem de consultas seja possível. Se possível, monitore a consulta que está sendo passada para a fonte de dados usando uma ferramenta como o SQL Profiler. Uma consulta com filtros baseados em RangeStart e RangeEnd deve ser executada em uma única consulta.

Você também pode especificar um curto período de data/hora nos RangeStart parâmetros e RangeEnd que não incluem mais do que alguns milhares de linhas. Se a carga de dados filtrados da fonte de dados para o modelo demorar muito tempo e for de processo intensivo, isso provavelmente significa que a consulta não está sendo dobrada.

Se determinar que a consulta não está a ser dobrada, consulte Orientações de dobragem de consulta no Power BI Desktop e Dobragem de consulta do Power Query para obter ajuda com a identificação do que pode estar a impedir a dobragem de consultas e como, ou se, a origem de dados pode mesmo suportar a dobragem de consultas.

Atualização do modelo semântico no serviço

A solução de problemas de atualização incremental no serviço difere dependendo do tipo de capacidade em que seu modelo foi publicado. Os modelos semânticos em capacidades Premium oferecem suporte ao uso de ferramentas como o SQL Server Management Studio (SSMS) para exibir e atualizar seletivamente partições individuais. Os modelos do Power BI Pro, por outro lado, não fornecem acesso à ferramenta por meio do ponto de extremidade XMLA, portanto, a solução de problemas de atualização incremental pode exigir um pouco mais de tentativa e erro.

Problema: A atualização inicial expira

A atualização agendada para modelos do Power BI Pro em uma capacidade compartilhada tem um limite de tempo de duas horas. Este limite de tempo é aumentado para cinco horas para os modelos com capacidade Premium. Os sistemas de fonte de dados também podem impor um limite de tamanho de retorno de consulta ou tempo limite de consulta.

Causa: as consultas da fonte de dados não estão sendo dobradas

Embora os problemas com a dobragem de consultas geralmente possam ser determinados no Power BI Desktop antes da publicação no serviço, é possível que as consultas de atualização de modelo não estejam sendo dobradas, levando a tempos de atualização excessivos e à utilização de recursos do mecanismo de mashup de consulta. Essa situação acontece porque uma consulta é criada para cada partição no modelo. Se as consultas não estiverem sendo dobradas e os dados não estiverem sendo filtrados na fonte de dados, o mecanismo tentará filtrar os dados.

Solução: Verificar o dobramento da consulta

Use uma ferramenta de rastreamento na fonte de dados para determinar a consulta que está sendo passada para cada partição é uma única consulta que inclui um filtro com base nos parâmetros RangeStart e RangeEnd. Caso contrário, verifique se a dobragem de consulta está ocorrendo no modelo do Power BI Desktop ao carregar uma pequena quantidade filtrada de dados no modelo. Caso contrário, fixe-o no modelo primeiro, execute uma atualização apenas de metadados para o modelo (usando o ponto de extremidade XMLA) ou, se um modelo do Power BI Pro em uma capacidade compartilhada, exclua o modelo incompleto no serviço, publique novamente e tente uma operação de atualização inicial novamente.

Se determinar que as consultas não estão a ser dobradas, consulte Orientações de dobragem de consultas no Power BI Desktop e Dobragem de consultas do Power Query para obter ajuda para identificar o que pode estar a impedir a dobragem de consultas.

Causa: os dados carregados em partições são muito grandes

Solução: Reduza o tamanho do modelo

Em muitos casos, o tempo limite é causado pela quantidade de dados que devem ser consultados e carregados nas partições do modelo excede os limites de tempo impostos pela capacidade. Reduza o tamanho ou a complexidade do seu modelo ou considere dividi-lo em partes menores.

Solução: habilite o formato de armazenamento de modelo grande

Para modelos publicados em capacidades Premium, se o modelo crescer além de 1 GB ou mais, você poderá melhorar o desempenho da operação de atualização e garantir que o modelo não exceda os limites de tamanho ativando o formato de armazenamento de modelo grande antes de executar a primeira operação de atualização no serviço. Para saber mais, consulte Modelos grandes no Power BI Premium.

Solução: Atualização inicial do Bootstrap

Para modelos publicados em capacidades Premium, você pode inicializar a operação de atualização inicial. O bootstrapping permite que o serviço crie objetos de tabela e partição para o modelo, mas não carregue e processe dados históricos em qualquer uma das partições. Para saber mais, consulte Atualização incremental avançada - Evitar tempos limite na atualização completa inicial.

Causa: tempo limite de consulta da fonte de dados

As consultas podem ser limitadas por um limite de tempo padrão para a fonte de dados.

Solução: substitua o limite de tempo na expressão de consulta

Muitas fontes de dados permitem substituir o limite de tempo na expressão de consulta. Para saber mais, consulte Atualização incremental para modelos - Limites de tempo.

Problema: A atualização falha devido a valores duplicados

Causa: as datas de publicação foram alteradas

Com uma operação de atualização, somente os dados que foram alterados na fonte de dados são atualizados no modelo. Como os dados são divididos por uma data, é recomendável que as datas de postagem (transação) não sejam alteradas.

Se uma data for alterada acidentalmente, dois problemas podem ocorrer: os usuários notam alguns totais alterados nos dados históricos (o que não deveria acontecer) ou, durante uma atualização, um erro é retornado indicando que um valor exclusivo não é, de fato, exclusivo. Para este último, essa situação pode acontecer quando a tabela com atualização incremental configurada é usada em um 1:N relacionamento com outra tabela como 1 lateral e deve ter valores exclusivos. Quando os dados são alterados para um ID específico, esse ID aparece em outra partição e o mecanismo deteta que o valor não é exclusivo.

Solução: Atualizar partições específicas

Quando houver uma necessidade comercial de alterar alguns dados passados das datas, uma solução possível é usar o SSMS para atualizar todas as partições desde o ponto em que a alteração está localizada até a partição de atualização atual, mantendo assim o 1 lado da relação exclusivo.

Problema: Os dados estão truncados

Causa: o limite de consulta da fonte de dados foi excedido

Algumas fontes de dados, como o Azure Data Explorer, o Log Analytics e o Application Insights, têm um limite de 64 MB (compactado) em dados que podem ser retornados para uma consulta externa. O Azure Data Explorer pode retornar um erro explícito, mas para outros, como o Log Analytics e o Application Insights, os dados retornados são truncados.

Solução: especifique períodos menores de atualização e armazenamento

Especifique períodos menores de atualização e armazenamento na política. Por exemplo, se você especificou um período de atualização de um ano e um erro de consulta é retornado ou os dados retornados são truncados, tente um período de atualização de 12 meses. Você deseja garantir que as consultas para a partição de atualização atual ou quaisquer partições históricas baseadas nos períodos Atualizar e Armazenar não retornem mais de 64 MB de dados.

Problema: A atualização falha devido a conflitos de chave de partição

Causa: a data em que a coluna de data na fonte de dados é atualizada

O filtro na coluna de data é usado para particionar dinamicamente os dados em intervalos de períodos no serviço do Power BI. A atualização incremental não foi projetada para dar suporte a casos em que a coluna de data filtrada é atualizada no sistema de origem. Uma atualização é interpretada como uma inserção e uma exclusão, não como uma atualização real. Se a exclusão ocorrer no intervalo histórico e não no intervalo incremental, ela não será captada, o que pode causar falhas de atualização de dados devido a conflitos de chave de partição.

Modo híbrido no serviço (Pré-visualização)

Quando o Power BI aplica uma política de atualização incremental com dados em tempo real, ele transforma a tabela atualizada incrementalmente em uma tabela híbrida que opera no modo de importação e no modo DirectQuery. Observe a partição DirectQuery no final da seguinte lista de partições de uma tabela de exemplo. A presença de uma partição DirectQuery tem implicações para tabelas relacionadas e visuais de relatório que consultam essa tabela.

Captura de ecrã da tabela híbrida.

Problema: O desempenho da consulta é fraco

As tabelas híbridas que operam no modo de importação e no modo DirectQuery exigem que todas as tabelas relacionadas operem no modo Dual para que possam atuar como armazenadas em cache ou não em cache, dependendo do contexto da consulta enviada ao modelo do Power BI. O modo duplo permite que o Power BI reduza o número de relações limitadas no modelo e gere consultas de fonte de dados eficientes para garantir um bom desempenho. Relações limitadas não podem ser enviadas por push para a fonte de dados que exige que o Power BI recupere mais dados do que o necessário. Como as tabelas duplas podem atuar como tabelas DirectQuery ou Import, essa situação é evitada.

Ao configurar uma política de atualização incremental, o Power BI Desktop lembra você de alternar quaisquer tabelas relacionadas para o modo Duplo ao selecionar Obter os dados mais recentes em tempo real com o DirectQuery (somente Premium). Além disso, certifique-se de revisar todas as relações de tabela existentes no Modo de Exibição de Modelo.

Captura de tela mostrando a conversão de tabelas relacionadas para o modo duplo.

As tabelas atualmente operando no modo DirectQuery são facilmente alternadas para o modo Dual. Nas propriedades da tabela, em Avançado, selecione Dual na caixa de listagem Modo de armazenamento. As tabelas atualmente operando no modo de importação, no entanto, exigem trabalho manual. As tabelas duplas têm as mesmas restrições funcionais que as tabelas DirectQuery. Portanto, o Power BI Desktop não pode converter tabelas de importação porque elas podem depender de outras funcionalidades não disponíveis no modo Dual. Você deve recriar manualmente essas tabelas no modo DirectQuery e, em seguida, convertê-las para o modo Duplo. Para saber mais, consulte Gerenciar o modo de armazenamento no Power BI Desktop.

Problema: os visuais de relatório não mostram os dados mais recentes

Causa: os resultados da consulta em cache do Power BI melhoram o desempenho e reduzem a carga de back-end

Por padrão, o Power BI armazena em cache os resultados da consulta, para que as consultas de visuais de relatório possam ser processadas rapidamente, mesmo que sejam baseadas no DirectQuery. Evitar consultas desnecessárias à fonte de dados melhora o desempenho e reduz a carga da fonte de dados, mas também pode significar que as alterações de dados mais recentes na origem não são incluídas nos resultados.

Solução: configurar a atualização automática de página

Para continuar buscando as alterações de dados mais recentes da fonte, configure a atualização automática de página para seus relatórios no serviço do Power BI. A atualização automática de página pode ser realizada em intervalos fixos, como cinco segundos ou dez minutos. Quando esse intervalo específico é atingido, todos os elementos visuais nessa página enviam uma consulta de atualização para a fonte de dados e atualizam de acordo. Como alternativa, você pode atualizar elementos visuais em uma página com base na deteção de alterações nos dados. Essa abordagem requer uma medida de deteção de alterações que o Power BI usa para sondar a fonte de dados em busca de alterações. A deteção de alterações só é suportada em espaços de trabalho que fazem parte de uma capacidade Premium. Para saber mais, consulte Atualização automática de página no Power BI.