Ir para conteúdo
  • 0

Calcular variação baseado na linha anterior da tabela


kleberfernandes

Pergunta

  • Alunos

Pessoal, preciso de uma ajuda.

Eu tenho uma medida chamada Vencidos que faz uma soma simples de uma coluna na minha tabela)

Acontece que os valores são mais ou menos quinzenais e eu preciso calcular a diferença da linha de cima pela linha de baixo e assim sucessivamente.

Tentei fazer com DATEADD, mas nem todos os meses começam exatamente no dia 01 e terminam no dia 31.

Existe alguma forma de fazer o power bi entender que eu quero subtrair o valor do dia 31/07 pelo valor do dia 15/07 e assim por diante?

Desde já agradeço.

 

image.png.672aad6937ea51f5c13ed81e22eae5de.png

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Tenta algo dentro da logica dessa medida:

Diferença_Vencidos = 
    VAR DataAtual = MAX(Tabela[Data_carga])
    VAR ValorAtual = MAX(Tabela[Vencidos])
    VAR DataAnterior = 
        CALCULATE(
            MAX(Tabela[Data_carga]),
            Tabela[Data_carga] < DataAtual
        )
    VAR ValorAnterior = 
        CALCULATE(
            MAX(Tabela[Vencidos]),
            Tabela[Data_carga] = DataAnterior
        )
    RETURN
        IF(ISBLANK(ValorAnterior), BLANK(), ValorAtual - ValorAnterior)

image.png

Editado por Yuri Ximenes De Figueiredo Mota
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

E ai Kleber, veja assim

Diferença Dia Anterior = 
VAR DataAtual = MAX( Calendario[Data] )
VAR ValorAtual = [Vencidos] 
VAR DataAnterior = 
    CALCULATE(
        MAX( Calendaio[Data] ) ,
        FILTER(
            Calendario ,
            Calendario[Data] < DataAtual 
        )
    )
VAR ValorAnterior = 
    CALCULATE(
        [Vencidos] , 
        Calendario[Data] = DataAnterior 
    )
RETURN
    IF(
        NOT ISBLANK( ValorAnterior ) ,
        ValorAtual - ValorAnterior ,
        BLANK()  
    )

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, kleberfernandes disse:

Pessoal, preciso de uma ajuda.

Eu tenho uma medida chamada Vencidos que faz uma soma simples de uma coluna na minha tabela)

Acontece que os valores são mais ou menos quinzenais e eu preciso calcular a diferença da linha de cima pela linha de baixo e assim sucessivamente.

Tentei fazer com DATEADD, mas nem todos os meses começam exatamente no dia 01 e terminam no dia 31.

Existe alguma forma de fazer o power bi entender que eu quero subtrair o valor do dia 31/07 pelo valor do dia 15/07 e assim por diante?

Desde já agradeço.

 

image.png.672aad6937ea51f5c13ed81e22eae5de.png

Uma opção diferente, usando a função OFFSET:
Você literalmente diz "subtraia do valor atual o valor anterior".

Diferença Vencidos =
[Vencidos] -                                    // valor da linha (data ) atual
CALCULATE(
       [Vencidos],
       OFFSET(
             -1,                                       // valor da linha (data) anterior
             ALLSELECTED(Data_carga),
             ORDERBY(Data_carga, ASC)
          )
)
  

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, kleberfernandes disse:

Pessoal, preciso de uma ajuda.

Eu tenho uma medida chamada Vencidos que faz uma soma simples de uma coluna na minha tabela)

Acontece que os valores são mais ou menos quinzenais e eu preciso calcular a diferença da linha de cima pela linha de baixo e assim sucessivamente.

Tentei fazer com DATEADD, mas nem todos os meses começam exatamente no dia 01 e terminam no dia 31.

Existe alguma forma de fazer o power bi entender que eu quero subtrair o valor do dia 31/07 pelo valor do dia 15/07 e assim por diante?

Desde já agradeço.

 

image.png.672aad6937ea51f5c13ed81e22eae5de.png

Cara, da uma olhada nas windows functions, para esse caso em especial, OFFSET. É extremamente simples e não precisa ficar removendo contexto, criando variável, etc.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Agora, Henrique Merola Faria disse:

Uma opção diferente, usando a função OFFSET:
Você literalmente diz "subtraia do valor atual o valor anterior".

Diferença Vencidos =
[Vencidos] -                                    // valor da linha (data ) atual
CALCULATE(
       [Vencidos],
       OFFSET(
             -1,                                       // valor da linha (data) anterior
             ALLSELECTED(Data_carga),
             ORDERBY(Data_carga, ASC)
          )
)
  

Enquanto eu escrevia sobre OFFSET, vc enviava a solução rs. Monstro mestre Henrique.

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