Ir para conteúdo
  • 0

Erro em etapa da dCalendario construída em M


Clóvis
Ir para solução Solucionado por Clóvis ,

Pergunta

  • Alunos

Boa tarde pessoal,

Alguém saberia dizer o motivo deste erro na minha calendário construída em M ? Estava tudo funcionando normal quando minha fonte de dados era localhost, ao mudar para produção começou a apresentar este erro. Pelo que percebi, parece que o erro ocorre na terceira linha das etapas aplicadas no editor avançado. Obrigado.

1429852474_Image1.thumb.png.95516e91c5c0cf1067889c63e1a1965e.png

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Boa Tarde, @Clóvis!

Se me permite, gostaria de fazer algumas considerações sobre o seu problema:

01 - O tipo de dados definitivo. Você citou que converteu a sua coluna em DateTime para que a solução pudesse funcionar.

O Power Query vai acessar a consulta "definitiva" para gerar a sua dCalendario, desta forma, o ideal é que já tenha realizado todas as transformações na consulta que vai usar como base da dCalendario, inclusive, tipando adequadamente os dados para depois gerar o código da dCalendario.

02 - Sobre o número de etapas, visualmente, vemos várias etapas, mas, o Power Query agrupa etapas e as realiza paralelamente, de modo que nem sempre mais etapas é igual a mais tempo de processamento;

03 - Tentando pensar uma solução para o seu problema:

Se a sua coluna está como texto, naturalmente, ele não conseguiria converter em Data.
Como se poderia resolver:
 

No editor avançado colocar:

    DataMin = DateTime.From(List.Min(Tabela[Coluna])),
    DataMax = DateTime.From(List.Max(Tabela[Coluna])),

 

Veja que você está pegando o resultado do mínimo e do máximo e convertendo em DateTime.
Obs.: Isto dará certo porque no formato em que está escrito, mesmo em texto, a ordenação fica correta.

 

Você também poderia escrever diretamente eliminando as etapas de DataMin, DataMax, AnoMin e AnoMax da seguinte forma:
 

    DataInicial = Date.StartOfYear(Date.From(DateTime.From(List.Min(Tabela[Coluna])))),
    DataFinal = Date.EndOfYear(Date.From(DateTime.From(List.Max(Tabela[Coluna])))),
    Duracao = Duration.Days(DataFinal - DataInicial) + 1,
    Fonte = List.Dates(DataInicial, Duracao, #duration(1,0,0,0))

 

Espero que tenha lhe ajudado a pensar o seu problema e encontrar a solução que melhor se adequa.

  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Vitor Peralva Obrigado pela resposta.

Sobre o caso em questão a coluna já está vindo nativamente da fonte e recebido pelo power query como dateTime. Ou seja não faz sentido ter que mudar o tipo se o tipo já estava correto. Mudei de dateTime para dateTime, ou seja troquei 6 por meia dúzia e a partir daí funcionou.

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...