DATESINPERIOD y el filtro no funcionan juntos

Un usuario Pregunto ✅

selpaqm

Hola a todos,

Tengo una tabla como la siguiente y una tabla de fechas que ya se han conectado entre sí.

Fecha cliente cantidad
01/01/2021 A 2
01/01/2021 B 1
11/01/2020 A 1
01/02/2021 A 4
01/02/2021 B 3
10/01/2020 B 7
12/01/2020 A 5
12/01/2020 B 3
la siguiente medida funciona correctamente para sumar los últimos 3 meses qtys con el mes seleccionado en la cortadora.
Cant. De 3 meses =
CALCULAR (SUMA (ventas[qty]), DATESINPERIOD (‘Fecha'[Date], LASTDATE (‘Fecha'[Date]),-3 MESES))
Sin embargo, quiero ver las cifras específicas del cliente A y traté de cambiar mi medida como se muestra a continuación y no funciona solo me muestra las cifras del mes pasado, no las de 3 meses.
Cant. De 3 meses para A =
CALCULAR (SUMA (ventas[qty]), FILTER (ventas, ventas (cliente) = «A»), DATESINPERIOD (‘Fecha'[Date], LASTDATE (‘Fecha'[Date]),-3 MESES))
debajo del enlace puede ver un ejemplo para ello
prueba

selimovd

En respuesta a selpaqm

Hola @selpaqm,

el archivo ayudó mucho.

La forma en que lo usa no necesita la función de filtro, simplemente puede anular el contexto del filtro para el cliente. Así obtienes el valor correcto para cada día.

Revisa esa fórmula:

3 month qty for A =
CALCULATE(
    SUM( sales[qty] ),
    sales[customer] = "A",
    DATESINPERIOD( 'Date'[Date], MAX( 'Date'[Date] ), -3, MONTH )
)

Si necesitas ayuda, házmelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución. ✔️ y dale un pulgar hacia arriba 👍
Atentamente
Denis
Blog: WhatTheFact.bi

selimovd

Hola @selpaqm,

Me pregunto si la medida funciona. Debería utilizar corchetes en la función de filtro «ventas[customer]»:

3 month qty for A =
CALCULATE(
    SUM( sales[qty] ),
    FILTER( sales, sales[customer] = "A" ),
    DATESINPERIOD( 'Date'[Date], LASTDATE( 'Date'[Date] ), -3, MONTH )
)

Personalmente, preferiría la combinación DATESBETWEEN y DATEADD:

3 month qty for A =
VAR MaxDate = MAXX( ALLSELECTED( 'Date' ), 'Date'[Date] )
RETURN
    CALCULATE(
        SUM( sales[qty] ),
        FILTER( sales, sales[customer] = "A" ),
        DATESBETWEEN( 'Date'[Date], DATEADD( MaxDate, -3, MONTH ), MaxDate )
    )

Si necesitas ayuda, házmelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución. ✔️ y dale un pulgar hacia arriba 👍
Atentamente
Denis
Blog: WhatTheFact.bi

selpaqm

En respuesta a selimovd

@selimovd gracias por tu respuesta. perdón por mi error mientras cambiaba los nombres. He cambiado los corchetes por otros incorrectos. sin embargo, en mi original se usa correctamente.

en su segunda medida, da un error debido a que dateadd necesita una columna específica.

por cierto, he subido un ejemplo a la publicación original. Puede ayudar.

selimovd

En respuesta a selpaqm

Hola @selpaqm,

el archivo ayudó mucho.

La forma en que lo usa no necesita la función de filtro, simplemente puede anular el contexto del filtro para el cliente. Así obtienes el valor correcto para cada día.

Revisa esa fórmula:

3 month qty for A =
CALCULATE(
    SUM( sales[qty] ),
    sales[customer] = "A",
    DATESINPERIOD( 'Date'[Date], MAX( 'Date'[Date] ), -3, MONTH )
)

Si necesitas ayuda, házmelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución. ✔️ y dale un pulgar hacia arriba 👍
Atentamente
Denis
Blog: WhatTheFact.bi

selpaqm

En respuesta a selimovd

@selimovd agradece la respuesta. está funcionando a las mil maravillas.

Amitchandak

@selpaqm, prueba con un pequeño cambio y comprueba. Además, asegúrese de que la tabla de fechas esté marcada como tabla de fechas (haga clic con el botón derecho en la tabla para ver una opción).

Balanceo 3 = CALCULAR (SUMA (ventas[qty]), FILTER (ventas, ventas (cliente) = «A»), DATESINPERIOD (‘Fecha'[Date ], MAX (‘Fecha'[Date]),-3 MESES))

selpaqm

En respuesta a Amitchandak

@amitchandak gracias por una respuesta rápida. MAX no funciona para eso. dado el mismo resultado con LASTDATE. La tabla de fechas se convierte en la tabla de fechas como mencionaste.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *