Ir para conteúdo
  • 0

MESMO VALOR DO DIA ANTERIOR DO CONTEXTO


vleite099
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Como faço para pegar o valor do dia anterior do contexto?
CALCULATE([LITROS], DATESINPERIOD(dCalendarioDAX[Date], MAX(dCalendarioDAX[Date]),LASTDATE(dCalendarioDAX[Date]),DAY))

exemplo:
DATA - PESSOA - LITROS - LITRO ANTERIOR
19/01/2021 - JOAO - 455 - BLANK
21/02/2021 - JOAO - 50 - 455
13/04/2021 - JOAO - 20 - 50

LITRO ANTERIOR.PNG

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
15 horas atrás, Michele disse:

Oi @vleite099!

Para obter uma data anterior ou posterior você pode usar o DATEADD, exemplo:
DATEADD(dCalendarioDAX[Date],-1,DAY)

Veja se isso te ajuda, caso não e puder colocar um exemplo do seu relatório para ser analisado.

https://docs.microsoft.com/pt-br/dax/dateadd-function-dax

Eu tentei essa formula tambem, mas não funciona. Acredito que ele pega o dia anterior e tenta ver um dia antes, e não um dia antes da tabela, que vários dias atrás.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
30 minutos atrás, Bruno Abdalla de Souza disse:

@vleite099, na sua base de dados tem apenas 3 dados e, neste caso pelo que entendi, não teria nenhum litro anterior no contexto. Poderia mandar uma base um pouquinho maior onde a placa contenha dados anteriores?

Neste caso não queria levar em conta a placa, apenas trazer o valor do litro anterior da linha, independente de placa ou qualquer outra coluna.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
16 minutos atrás, Bruno Abdalla de Souza disse:
LITRO ANTERIOR = 
    VAR vUltimaData = 
        MAXX(
            FILTER(
                ALL(FDados[DATA]),
                FDados[DATA] < MAX(FDados[DATA])
            ),
            [DATA]
        )
    VAR vUltimoLitro = 
        MAXX(
            FILTER(
                    ALL(FDados),
                    FDados[DATA] = vUltimaData
            ),
            [LITROS]
        )
RETURN
    vUltimoLitro

 

LITROS.pbix 43 kB · 1 download

Deu certo, obrigado Bruno

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, Bruno Abdalla de Souza disse:

Só tem um possível problema. Se tiver mais de uma placa no mesmo dia, que valor retorna? Na solução acima, retornaria o maior valor, o que acredito que talvez não seja o que você deseja. Qual seria a regra?

Com essa formula, se eu tiver a mesma placa descrita mais de uma vez não interfere no resultado. Porem, se eu classificar por placa, de modo que as datas fiquem desordenadas, o valor vai ser sempre da data anterior, e não da linha anterior. Para casos onde a data esta ordenada ela funciona corretamente, mas para casos onde esta classificado por outra coluna, deve-se usar outra formula para que considere a linha acima. Saberia dizer como seria nesse caso? Segue arquivo do caso.

LITROS.pbix

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