Ir para conteúdo
  • 0

Problema ao tentar fazer atualização incremental (M Query)


Henrik Oliveira Paes
Ir para solução Solucionado por Henrik Oliveira Paes ,

Pergunta

  • Alunos

Olá pessoal!

Estou com problemas ao tentar fazer a atualização incremental em um banco de dados MySQL conectado via ODBC x64 MySQL 8.3 Unicode.


Acontece que, ao definir o RangeStart e RangeEnd, quando vou aplicar a atualização incremental no Front-end do BI, ele me apresenta a seguinte mensagem: Unable to M query can be folded. incremental refresh can't be suggested for non-foldable queries.

image.png.75695d53385e67eda6a1da72fd4bbf74.png

Até encontrei um vídeo no YouTube watch?v=QEFze-LdLqo onde é falado que dependendo das etapas aplicadas no Power Query, pode-se perder a instancia de "View Native Query".  O que poderia explicar essa mensagem acima. Mas praticamente qualquer etapa, seja de mudar tipo de dados, fazer split de coluna ou só duplicar uma coluna já faz sumir essa "View Native Query".

Segue abaixo o print de uma das tabelas que tenho no Power Query com alguns tratamentos, onde já se "perdeu" essa possibilidade de incrementar dados:

image.png.e550ac275124d6a2cd0b3da222a6ac0e.png

Alguém já passou por isso? Porque eu acredito que é quase inviável fazer todas as transformações de dados no Banco SQL antes de trazer os dados para o Power BI.
Será que não tem uma outra opção de ativar essa atualização incremental e manter as etapas de transformação aplicadas?

No meu caso, o que acontece: O Power BI apresenta aquela mensagem em amarelo, e quando estou no Power BI Serviço ele simplesmente atualiza o banco todo como se não existisse os parâmetros de RangeStart e RangeEnd.
 

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
8 horas atrás, Henrik Oliveira Paes disse:

Olá pessoal!

Estou com problemas ao tentar fazer a atualização incremental em um banco de dados MySQL conectado via ODBC x64 MySQL 8.3 Unicode.


Acontece que, ao definir o RangeStart e RangeEnd, quando vou aplicar a atualização incremental no Front-end do BI, ele me apresenta a seguinte mensagem: Unable to M query can be folded. incremental refresh can't be suggested for non-foldable queries.

image.png.75695d53385e67eda6a1da72fd4bbf74.png

Até encontrei um vídeo no YouTube watch?v=QEFze-LdLqo onde é falado que dependendo das etapas aplicadas no Power Query, pode-se perder a instancia de "View Native Query".  O que poderia explicar essa mensagem acima. Mas praticamente qualquer etapa, seja de mudar tipo de dados, fazer split de coluna ou só duplicar uma coluna já faz sumir essa "View Native Query".

Segue abaixo o print de uma das tabelas que tenho no Power Query com alguns tratamentos, onde já se "perdeu" essa possibilidade de incrementar dados:

image.png.e550ac275124d6a2cd0b3da222a6ac0e.png

Alguém já passou por isso? Porque eu acredito que é quase inviável fazer todas as transformações de dados no Banco SQL antes de trazer os dados para o Power BI.
Será que não tem uma outra opção de ativar essa atualização incremental e manter as etapas de transformação aplicadas?

No meu caso, o que acontece: O Power BI apresenta aquela mensagem em amarelo, e quando estou no Power BI Serviço ele simplesmente atualiza o banco todo como se não existisse os parâmetros de RangeStart e RangeEnd.
 

 

Bom dia!

O problema que você está enfrentando é que algumas operações realizadas no Power Query podem fazer com que a opção de native query (consulta nativa) não esteja disponível. Para evitar esse problema, recomendo que você faça o máximo possível do trabalho diretamente em SQL antes de importar os dados para o Power Query.

Eu costumo criar a consulta SQL com todos os parâmetros e ajustes necessários desde o início. Isso facilita a chamada e evita problemas com a opção de native query.

Segue exemplo:
 

let
    strRangeStart = DateTime.ToText(RangeStart,[Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"]),
    strRangeEnd = DateTime.ToText(RangeEnd,[Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"]),
    Query = "
    SELECT
        sub.sk_ctrc AS sk_ctrc,
        sub.dia_inclusao_ocor,
        sub.usuario_ocor,
        sub.unid_ocor,
        sub.cod_ocor
    FROM dw.fato_ocorrencias sub
    WHERE 
        sub.emissao_ctrc  >= '" & strRangeStart & "' AND sub.emissao_ctrc  < '" & strRangeEnd & "')
    ",
    Fonte = MySQL.Database("SEU IP", "DATABASE", [ReturnSingleDatabase=true, Query=Query])
in
    Fonte

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Alex Pereira disse:
 

Bom dia!

O problema que você está enfrentando é que algumas operações realizadas no Power Query podem fazer com que a opção de native query (consulta nativa) não esteja disponível. Para evitar esse problema, recomendo que você faça o máximo possível do trabalho diretamente em SQL antes de importar os dados para o Power Query.

Eu costumo criar a consulta SQL com todos os parâmetros e ajustes necessários desde o início. Isso facilita a chamada e evita problemas com a opção de native query.

Segue exemplo:
 

let
    strRangeStart = DateTime.ToText(RangeStart,[Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"]),
    strRangeEnd = DateTime.ToText(RangeEnd,[Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"]),
    Query = "
    SELECT
        sub.sk_ctrc AS sk_ctrc,
        sub.dia_inclusao_ocor,
        sub.usuario_ocor,
        sub.unid_ocor,
        sub.cod_ocor
    FROM dw.fato_ocorrencias sub
    WHERE 
        sub.emissao_ctrc  >= '" & strRangeStart & "' AND sub.emissao_ctrc  < '" & strRangeEnd & "')
    ",
    Fonte = MySQL.Database("SEU IP", "DATABASE", [ReturnSingleDatabase=true, Query=Query])
in
    Fonte

 

Como já estou montando as consultas antecipadamente, isso garante que, ao puxar os dados do banco, o processamento será otimizado ao máximo, mesmo que o Direct Query esteja desativado. Enfim, está foi a solução que encontreii!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
10 horas atrás, Henrik Oliveira Paes disse:

Olá pessoal!

Estou com problemas ao tentar fazer a atualização incremental em um banco de dados MySQL conectado via ODBC x64 MySQL 8.3 Unicode.


Acontece que, ao definir o RangeStart e RangeEnd, quando vou aplicar a atualização incremental no Front-end do BI, ele me apresenta a seguinte mensagem: Unable to M query can be folded. incremental refresh can't be suggested for non-foldable queries.

image.png.75695d53385e67eda6a1da72fd4bbf74.png

Até encontrei um vídeo no YouTube watch?v=QEFze-LdLqo onde é falado que dependendo das etapas aplicadas no Power Query, pode-se perder a instancia de "View Native Query".  O que poderia explicar essa mensagem acima. Mas praticamente qualquer etapa, seja de mudar tipo de dados, fazer split de coluna ou só duplicar uma coluna já faz sumir essa "View Native Query".

Segue abaixo o print de uma das tabelas que tenho no Power Query com alguns tratamentos, onde já se "perdeu" essa possibilidade de incrementar dados:

image.png.e550ac275124d6a2cd0b3da222a6ac0e.png

Alguém já passou por isso? Porque eu acredito que é quase inviável fazer todas as transformações de dados no Banco SQL antes de trazer os dados para o Power BI.
Será que não tem uma outra opção de ativar essa atualização incremental e manter as etapas de transformação aplicadas?

No meu caso, o que acontece: O Power BI apresenta aquela mensagem em amarelo, e quando estou no Power BI Serviço ele simplesmente atualiza o banco todo como se não existisse os parâmetros de RangeStart e RangeEnd.
 

Pra atualização incremental todas as transformações devem ser feitas antes. Se vc fizer qualquer tipo de alteração no power query, automaticamente o query folding será desabilitado.

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...