Página 1 de 1

Como passar variável em number_of_intervals na Função DATEADD

Enviado: 23 Jun 2021 às 08:07
por JorgitoPaiva44
Bom dia comunidade!

Preciso implementar uma solução que pegue a data inicial e a data final selecionados na segmentação de dados e calcule a diferença em dias entre as datas para apresentar num gráfico o total de itens x dias anteriores ao selecionado, por exemplo: foi escolhido o período entre 14/06/2021 e 21/06/2021 então a diferença entre essas 2 datas é 7 dias, onde:

VAR dias = -(DATEDIFF(MIN(D_Calendario[data]), MAX(D_Calendario[data]), DAY)) será igual a -7, até aqui tudo certo, porém quando passo essa variável na medida para fazer o cálculo para calcular -7 dias atrás na fórmula:

CALCULATE(
[Backlog Acumulado Evolução], DATEADD(D_Calendario[data], dias, DAY)
)

O resultado na linha do gráfico é calculado errado, só é calcula corretamente quando eu declaro o valor da variável com -7.

Mas eu preciso deixar essa diferença de dias dinâmico, mas por algum motivo na fórmula CALCULATE( [Backlog Acumulado Evolução], DATEADD(D_Calendario[data], dias, DAY) ) não consegue ler o valor correto da variável com ele recebe o cálculo VAR dias = -(DATEDIFF(MIN(D_Calendario[data]), MAX(D_Calendario[data]), DAY)) .

Existe alguma outra forma de implementar essa solução? Podem me orientar? Anexei um arquivo com o print dos gráficos.

Re: Como passar variável em number_of_intervals na Função DATEADD

Enviado: 24 Jun 2021 às 22:47
por Vilmar
Tente:
Código: Selecionar todos
Medida =
VAR DifDia =
    DATEDIFF (
        FIRSTDATE ( D_Calendario[data] ),
        LASTDATE ( D_Calendario[data] ),
        DAY
    )
VAR FimPrev =
    FIRSTDATE ( D_Calendario[data] ) - 1
VAR InicPrv = FimPrev - DifDia
RETURN
    CALCULATE ( [Backlog Acumulado Evolução], DATESBETWEEN ( D_Calendario[data], FimPrev, InicPrv ) )

Re: Como passar variável em number_of_intervals na Função DATEADD

Enviado: 02 Jul 2021 às 07:41
por JorgitoPaiva44
Obrigado @Vilmar
Deu certo!!!!!!