Ir para conteúdo
  • 0

Preencher sábado e domingo com o valor da sexta-feira


Cacio Lima

Pergunta

  • Alunos

Boa noite, preciso criar uma tabela com duas colunas, uma com o valor do dia e outra com o valor do dia anterior.

No sábado e domingo tem que preencher com o valor da sexta.

Na coluna do valor do dia está ok, mas na coluna do dia anterior o sábado e domingo está preenchendo com o valor da quinta.

Podem me ajudar a identificar onde estou errando na medida do dia anterior?

Medida dia:

(S) Caixa =
CALCULATE(
    [($) Caixa Diário],
    LASTNONBLANK(
        FILTER(
            ALL(dCalendario[Date]),
            dCalendario[Date] <= MAX(dCalendario[Date])
        ),
        [($) Caixa Diário]
    )
)

Medida dia anterior:

(S) Caixa d-1 =
CALCULATE(
    [($) Caixa Dia Anterior],
    LASTNONBLANK(
        FILTER(
            ALL(dCalendario[Date]),
            dCalendario[Date] <= MAX(dCalendario[Date])
        ),
        [($) Caixa Dia Anterior]
    )
)image.png.e6ba470cb1946ddf81b8c7991e69f484.png
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
15 horas atrás, Cacio Lima disse:

Boa noite, preciso criar uma tabela com duas colunas, uma com o valor do dia e outra com o valor do dia anterior.

No sábado e domingo tem que preencher com o valor da sexta.

Na coluna do valor do dia está ok, mas na coluna do dia anterior o sábado e domingo está preenchendo com o valor da quinta.

Podem me ajudar a identificar onde estou errando na medida do dia anterior?

Medida dia:

(S) Caixa =
CALCULATE(
    [($) Caixa Diário],
    LASTNONBLANK(
        FILTER(
            ALL(dCalendario[Date]),
            dCalendario[Date] <= MAX(dCalendario[Date])
        ),
        [($) Caixa Diário]
    )
)

Medida dia anterior:

(S) Caixa d-1 =
CALCULATE(
    [($) Caixa Dia Anterior],
    LASTNONBLANK(
        FILTER(
            ALL(dCalendario[Date]),
            dCalendario[Date] <= MAX(dCalendario[Date])
        ),
        [($) Caixa Dia Anterior]
    )
)image.png.e6ba470cb1946ddf81b8c7991e69f484.png

Olá Cacio, boa tarde!
fiz um simulado aqui e acredito que dessa forma vc consegue resolver o problema 🙂

Reaproveita sua medida do dia e coloca dentro de uma dateadd e adiciona variáveis :), espero ter ajudado

(S) Caixa d-1 =
var vseg_sab = CALCULATE([(S) Caixa], DATEADD(dCalendario[Date], -1,DAY))
var vdom = CALCULATE([(S) Caixa], DATEADD(dCalendario[Date], -2,DAY))
Return
SWITCH(
    TRUE(),
    MAX(dCalendario[Dia da Semana]) = "dom", vdom,vseg_sab
)

image.png.42bf38233d2dabeef8d577b7914f12dc.png

Editado por Carlos Silva
Link para o comentário
Compartilhar em outros sites

  • 0
  • Admin

Boa tarde @Cacio Lima

O erro de pegar o valor de quinta-feira:
Na sua medida os dias sábado e domingo pegou o valor de quinta pela função "LASTNONBLANK",  a mesma retorna o último valor na coluna filtrada pelo contexto (dia da semana) atual em que a expressão não está em branco que no seu caso retornaria o contexto sexta-feira, depois do contexto passou a função  dCalendario[Date] <= MAX(dCalendario[Date]) retornando o valor de quinta. 



Segue medida para seu objetivo:

Medida dia anterior =
SWITCH (
    TRUE (),
    SELECTEDVALUE ( dCalendario[Semana dia] ) = "sáb", CALCULATE ( [($) Caixa Dia Anterior], DATEADD (  dCalendario[Date], -1, DAY ) ),
    SELECTEDVALUE ( dCalendario[Semana dia] ) = "dom", CALCULATE ( [($) Caixa Dia Anterior], DATEADD (  dCalendario[Date], -2, DAY ) ),
    [($) Caixa Dia Anterior]
)


ATENÇÂO ao valor do total!!!
Como criamos condições que são passada linha a linha (contexto dia da semana) ao chegar no total a mesma não será interpretada e retornará um valor errado. 
Vamos corrigir criando uma nova medida utilizando uma função de agregação "SUMX".


A medida: 

Medida dia anterior correção de total=
SUMX ( VALUES ( dCalendario[Semana dia] ), [Medida dia anterior] )



Espero ter ajudado. 
Sucesso meu amigo! 🚀

Editado por Tiago Craici
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...