Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Existem duas fases ao implementar uma atualização incremental e uma solução de dados em tempo real, a primeira é a configuração dos parâmetros, filtragem e definição de uma política no Power BI Desktop, e a segunda é a operação inicial de atualização semântica do modelo e as atualizações subsequentes no serviço. Este artigo discute a resolução de problemas separadamente para cada uma destas fases.
Tendo particionado a tabela no serviço Power BI, é importante ter em conta que as tabelas atualizadas incrementalmente que também recebem dados em tempo real com DirectQuery estão agora a operar em modo híbrido, ou seja, operam tanto em modo importação como DirectQuery. Quaisquer tabelas com relações com tal tabela híbrida atualizada incrementalmente devem usar o modo Dual para que possam ser usadas nos modos de importação e DirectQuery sem penalizações de desempenho. Além disso, os visuais dos relatórios podem armazenar em cache os resultados para evitar enviar consultas de volta à fonte de dados, o que impediria a tabela de captar as últimas atualizações de dados em tempo real. A secção final de resolução de problemas aborda estes problemas do modo híbrido.
Antes de solucionar problemas de atualização incremental e dados em tempo real, certifique-se de consultar 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.
Configuração no Power BI Desktop
A maioria dos problemas que ocorrem ao configurar a atualização incremental e dados em tempo real está relacionada com o folding de consultas. Como descrito na atualização incremental para a visão geral dos modelos - Fontes de dados suportadas, a sua fonte de dados deve suportar a dobra de consultas.
Problema: Carregar dados demora demasiado tempo
No Power Query Editor, após selecionar Aplicar, carregar dados consome uma quantidade excessiva de tempo e recursos informáticos. Existem várias causas potenciais.
Causa: Incompatibilidade dos tipos de dados
Este problema pode ser causado por uma incompatibilidade de tipos de dados, onde Date/Time é o tipo de dados necessário para os parâmetros RangeStart e RangeEnd, mas a coluna de data da tabela onde os filtros são aplicados não é do tipo de dados Date/Time, ou vice-versa. Tanto o tipo de dado dos parâmetros como a coluna de dados filtrados devem ser Date/Time do tipo de dado e o formato deve ser o mesmo. Se não, a consulta não pode ser dobrada.
Solução: Verificar o tipo de dado
Verifique se a coluna data/hora da tabela de atualização incremental é do Date/Time tipo de dado. Se a sua tabela não contém uma coluna de Date/Time tipo de dados, mas em vez disso usa um tipo inteiro, pode criar uma função que converta o valor data/hora nos parâmetros RangeStart e RangeEnd para fazer corresponder à chave de substituição inteira da tabela de fonte de dados. Para saber mais, consulte Configurar atualização incremental - Converter DateTime para inteiro.
Causa: A fonte de dados não suporta query folding
Como descrito em Atualização incremental e dados em tempo real para modelos - Requisitos, a atualização incremental é concebida para fontes de dados que suportam dobramento de consultas. Certifique-se de que as consultas à fonte de dados estão a ser otimizadas no Power BI Desktop antes de publicar no serviço, onde os problemas de otimização de consultas podem ser significativamente agravados. Esta abordagem é especialmente importante ao incluir dados em tempo real numa política de atualização incremental, pois a partição de DirectQuery em tempo real requer optimização de consultas.
Solução: Verificar e testar consultas
Na maioria dos casos, um aviso é mostrado no diálogo de política de atualização incremental indicando se a consulta a ser executada na fonte de dados não suporta o query folding. No entanto, em alguns casos, pode ser necessário garantir adicionalmente que o dobramento de consulta é possível. Se possível, monitorize a consulta que está a ser 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 numa única consulta.
Também pode especificar um curto período de data ou hora nos parâmetros RangeStart e RangeEnd, que não incluam mais de alguns milhares de linhas. Se a carga de dados filtrados da fonte de dados para o modelo demorar muito tempo e for intensiva em processos, provavelmente significa que a consulta não está a ser dobrada.
Se determinar que a consulta não está a ser compactada, consulte as orientações sobre a compactação de consultas no Power BI Desktop e query folding no Power Query para ajudar a identificar o que pode estar a impedir a compactação de consultas e como, ou se, a fonte de dados pode ou não suportar a compactação de consultas.
Atualização semântica do modelo no serviço
A resolução de problemas de atualização incremental no serviço varia consoante o tipo de capacidade para que o seu modelo foi publicado. Modelos semânticos em capacidades Premium suportam o uso de ferramentas como o SQL Server Management Studio (SSMS) para visualizar e atualizar seletivamente partições individuais. Os modelos Power BI Pro, por outro lado, não fornecem acesso à ferramenta através do endpoint XMLA, por isso resolver problemas de atualização incremental pode exigir um pouco mais de tentativa e erro.
Problema: O refresh inicial expira
A atualização agendada para modelos Power BI Pro em capacidade partilhada tem um limite de tempo de duas horas. Este limite de tempo é aumentado para cinco horas para modelos em capacidade Premium. Os sistemas fonte de dados também podem impor um limite de tamanho de retorno de consulta ou um tempo de espera de consulta.
Causa: As consultas à fonte de dados não estão a ser dobradas
Embora os problemas de query folding possam normalmente ser determinados no Power BI Desktop antes de serem publicados no serviço, é possível que as queries de atualização de modelo não estejam a ser corretamente folded, levando a tempos excessivos de atualização e à utilização dos recursos do motor de mistura de consultas. Esta situação acontece porque é criada uma consulta para cada partição do modelo. Se as consultas não estiverem a ser dobradas e os dados não estiverem a ser filtrados na fonte de dados, o motor tenta então filtrar os dados.
Solução: Verificar a otimização de consultas
Use uma ferramenta de rastreamento na fonte de dados para determinar que a consulta a ser passada para cada partição é uma única consulta que inclui um filtro baseado nos parâmetros RangeStart e RangeEnd. Se não, verifique se a query folding está a ocorrer no modelo Power BI Desktop ao carregar uma pequena quantidade filtrada de dados no modelo. Se não, corrige primeiro no modelo, faz uma atualização apenas de metadados ao modelo (usando o endpoint XMLA), ou, se for um modelo Power BI Pro com capacidade partilhada, elimina o modelo incompleto no serviço, republica e tenta novamente uma operação inicial de atualização.
Se determinar que as consultas não estão a ser dobradas, consulte as orientações de dobragem de consultas no Power BI Desktop e o Power Query para ajudar a identificar o que poderá estar a impedir a dobra de consultas.
Causa: Os dados carregados nas partições são demasiado grandes
Solução: Reduzir o tamanho do modelo
Em muitos casos, o timeout é 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 mais pequenas.
Solução: Ativar o formato de armazenamento de modelos grandes
Para modelos publicados com capacidades Premium, se o modelo ultrapassar 1 GB ou mais, pode melhorar o desempenho da operação de atualização e garantir que o modelo não ultrapasse os limites de tamanho ao ativar o formato de armazenamento de modelos grandes antes de realizar 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, pode iniciar a operação inicial de atualização. O bootstrapping permite ao serviço criar objetos de tabela e partição para o modelo, mas não carregar e processar dados históricos em nenhuma das partições. Para saber mais, consulte Atualização incremental avançada - Evitar tempos limite na atualização completa inicial.
Causa: Tempo de espera da consulta da fonte de dados
As consultas podem ser limitadas por um limite de tempo padrão para a fonte de dados.
Solução: Anular o limite de tempo na expressão da consulta
Muitas fontes de dados permitem anular 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 mudaram
Com uma operação de atualização, apenas os dados que mudaram na fonte de dados são atualizados no modelo. Como os dados são divididos por uma data, recomenda-se que as datas de publicação (transação) não sejam alteradas.
**
Se uma data for alterada acidentalmente, podem ocorrer dois problemas: os utilizadores notam que alguns totais se alteraram nos dados históricos (o que não deveria acontecer), ou, ao atualizar, é devolvido um erro indicando que um valor único não é de facto único.
Para este último caso, esta situação pode ocorrer quando a tabela com atualização incremental configurada é usada numa relação 1:N com outra tabela no lado 1 e deve ter valores únicos. Quando os dados são alterados para um ID específico, esse ID aparece noutra partição e o motor deteta que o valor não é único.
Solução: Atualizar partições específicas
Quando existe necessidade de um negócio alterar alguns dados passados das datas, uma possível solução é usar SSMS para atualizar todas as partições desde o ponto onde a alteração está localizada até à partição de atualização atual, mantendo assim o 1 lado da relação único.
Problema: Os dados estão truncados
Causa: O limite de consulta de fonte de dados foi ultrapassado
Algumas fontes de dados, como Azure Data Explorer, Log Analytics e Application Insights, têm um limite de 64 MB (comprimidos) sobre dados que podem ser devolvidos para uma consulta externa. O Azure Data Explorer pode devolver um erro explícito, mas, em outros casos, como no Log Analytics e no Application Insights, os dados devolvidos são truncados.
Solução: Especificar períodos de atualização e armazenamento mais curtos
Especifique períodos de atualização e armazenamento mais curtos na apólice. Por exemplo, se especificou um período de atualização de um ano, e um erro de consulta for devolvido ou os dados devolvidos forem truncados, experimente um período de atualização de 12 meses. Deves garantir que as consultas à partição de atualização atual ou a quaisquer partições históricas baseadas nos períodos de Atualização e Armazenamento não devolvam mais de 64 MB de dados.
Problema: A atualização falha devido a conflitos de chaves de partição
Causa: A data na coluna de data na fonte de dados foi atualizada
O filtro na coluna de data é usado para particionar dinamicamente os dados em intervalos de período no serviço Power BI. A atualização incremental não foi concebida para suportar casos em que a coluna de data filtrada é atualizada no sistema de origem. Uma atualização é interpretada como uma inserção e uma eliminação, não como uma atualização real. Se a eliminação ocorrer no intervalo histórico e não no intervalo incremental, não é detetada, o que pode causar falhas na atualização dos dados devido a conflitos de chaves de partição.
Modo híbrido no serviço
Quando o Power BI aplica uma política de atualização incremental com dados em tempo real, transforma a tabela atualizada incrementalmente numa tabela híbrida que opera tanto em modo importação como DirectQuery. Note a partição DirectQuery no final da lista de partições seguinte de uma tabela de exemplo. A presença de uma partição DirectQuery tem implicações para tabelas relacionadas e relatórios visuais que consultam esta tabela.
Problema: O desempenho das consultas é fraco
Causa: As tabelas relacionadas não estão em modo Dual
Tabelas híbridas que operam tanto em modo importação como em modo DirectQuery requerem que quaisquer tabelas relacionadas operem em modo Dual, para que possam funcionar como cache ou não, dependendo do contexto da consulta submetida ao modelo Power BI. O modo duplo permite ao Power BI reduzir o número de relações limitadas no modelo e gerar consultas eficientes à fonte de dados para garantir um bom desempenho. Relações limitadas não podem ser enviadas para a fonte de dados, exigindo 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.
Solução: Converter tabelas relacionadas para modo Dual
Ao configurar uma política de atualização incremental, o Power BI Desktop lembra-o de mudar quaisquer tabelas relacionadas para o modo Dual quando selecionar Obter os dados mais recentes em tempo real com DirectQuery (apenas Premium). Além disso, certifique-se de rever todas as relações de tabelas existentes na Vista de Modelo.
As tabelas atualmente a operar em modo DirectQuery são facilmente alteradas para modo Dual. Nas propriedades da tabela, em Avançado, selecione Dual na caixa de lista do modo de armazenamento. No entanto, as tabelas atualmente a operar em modo de importação requerem trabalho manual. As tabelas duplas têm as mesmas restrições funcionais que as tabelas DirectQuery. O Power BI Desktop, portanto, não pode converter tabelas de importação porque podem depender de outras funcionalidades não disponíveis no modo Dupla. Deve recriar manualmente estas tabelas no modo DirectQuery e depois convertê-las para o modo Dual. Para saber mais, consulte Gerir o modo de armazenamento no Power BI Desktop.
Problema: Os visuais do relatório não mostram os dados mais recentes
Causa: O Power BI armazena em cache os resultados das consultas melhora o desempenho e reduz a carga do back-end
Por defeito, o Power BI armazena em cache os resultados das consultas, para que as consultas aos visuais dos relatórios 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, mas também pode significar que as alterações mais recentes na fonte não são incluídas nos resultados.
Solução: Configurar a atualização automática de páginas
Para continuar a obter as últimas alterações de dados da fonte, configure a atualização automática das páginas para os seus relatórios no serviço Power BI. A atualização automática da 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. Alternativamente, pode atualizar os visuais numa página com base na deteção de alterações nos dados. Esta abordagem requer uma medida de deteção de alterações que o Power BI utiliza 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.