Ir para conteúdo
  • 0

nova coluna baseada no trimestre


Ir para solução Solucionado por Alex Pereira ,

Pergunta

  • Alunos
Postado

pessoal,boa noite.To tentando rodar esse codigo pra criar uma coluna que tenha 4 valores possiveis:"Trimestre Atual","Trimestre passado","Mesmo Trimestre no ano passado" e "Outros"

o codigo:if [Ano] = List.Max(dCalendario[Ano]) and [Trimestre] = List.Max(dCalendario[Trimestre]) then "Trimestre Atual" else if [Ano] = List.Max(dCalendario[Ano]) and [Trimestre] = List.Max(dCalendario[Trimestre])-1 then "Trimestre Anterior" else if [Ano] = List.Max(dCalendario[Ano])-1 and [Trimestre] = List.Max(dCalendario[Trimestre]) then "T. Ano Passado" else "Outros" O que eu to fazendo de errado pra dar o seguinte erro:Expression.Error: Uma referência cíclica foi encontrada durante a avaliação

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
Postado

Experimente fazer dessa forma comparando com a data de hoje.

 

let
    DataAtual = DateTime.LocalNow(),
    AnoAtual = Date.Year(DataAtual),
    MesAtual = Date.Month(DataAtual),
    TrimestreAtual = Number.RoundUp(MesAtual / 3),
    
    AdicionarColuna = Table.AddColumn(dCalendario, "Período", each 
        if [Ano] = AnoAtual and [Trimestre] = TrimestreAtual then "Trimestre Atual"
        else if [Ano] = AnoAtual and [Trimestre] = TrimestreAtual - 1 then "Trimestre Anterior"
        else if [Ano] = AnoAtual - 1 and [Trimestre] = TrimestreAtual then "T. Ano Passado"
        else "Outros"
    )
in
    AdicionarColuna



 

  • 0
  • Alunos
  • Solução
Postado
7 horas atrás, Caio Veiga disse:

pessoal,boa noite.To tentando rodar esse codigo pra criar uma coluna que tenha 4 valores possiveis:"Trimestre Atual","Trimestre passado","Mesmo Trimestre no ano passado" e "Outros"

o codigo:if [Ano] = List.Max(dCalendario[Ano]) and [Trimestre] = List.Max(dCalendario[Trimestre]) then "Trimestre Atual" else if [Ano] = List.Max(dCalendario[Ano]) and [Trimestre] = List.Max(dCalendario[Trimestre])-1 then "Trimestre Anterior" else if [Ano] = List.Max(dCalendario[Ano])-1 and [Trimestre] = List.Max(dCalendario[Trimestre]) then "T. Ano Passado" else "Outros" O que eu to fazendo de errado pra dar o seguinte erro:Expression.Error: Uma referência cíclica foi encontrada durante a avaliação

Esse erro de referência cíclica acontece porque você está tentando calcular o valor máximo de dCalendario[Ano] e dCalendario[Trimestre] dentro de uma fórmula que está, ao mesmo tempo, sendo aplicada à própria tabela dCalendario. Você pode tentar colocando em uma variável separada:

 

let
    AnoMax = List.Max(dCalendario[Ano]),
    TrimestreMax = List.Max(dCalendario[Trimestre]),
    AdicionarColuna = Table.AddColumn(dCalendario, "Período", each 
        if [Ano] = AnoMax and [Trimestre] = TrimestreMax then "Trimestre Atual"
        else if [Ano] = AnoMax and [Trimestre] = TrimestreMax - 1 then "Trimestre Anterior"
        else if [Ano] = AnoMax - 1 and [Trimestre] = TrimestreMax then "T. Ano Passado"
        else "Outros"
    )
in
    AdicionarColuna



Obs.: A ooutra solução que dei é mais recomendada! 

  • 0
  • Alunos
Postado
Em 07/09/2024 em 17:30, Henrique Merola Faria disse:

muito obrigado,henrique e alex.To começando no power bi,obrigado  pela explicaçãO DOS DOIS

 

 





 

 

  • Like 1

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...