Promedio móvil de 14 días (más y menos 7 días)

Un usuario Pregunto ✅

J_L

Hola equipo,

Soy un novato y espero obtener ayuda de DAX para una medida que estoy tratando de agregar. ¡He buscado muchos tutoriales en foros y youtube sin suerte definitiva!

Básicamente, en cada fecha, quiero calcular el promedio móvil de las ventas para esa fecha, 7 días antes y después, para un total de 14 días. Consulte mi cálculo promedio básico de Excel a continuación para obtener una maqueta con los resultados esperados en la columna C. La celda C23 muestra mi fórmula de Excel para su información.

poder bi.png

Texto a continuación:

FECHA VENTAS
1 ° de julio 22
2 de julio 12
3 de julio 31
4 de julio 43
5 de julio 25
6 de julio 62
7 de julio 23
8 de julio 34
9 de julio 24
10 de julio 55
11 de julio 32
12 de julio 31
13 de julio 48
14 de julio 43
15 de julio 23
16 de julio 31
17 de julio 35
18 de julio 55
19 de julio 34
20 de julio 63
21 de julio 14
22 de julio 43
23 de julio 35
24 de julio 75
25 de julio 46
26 de julio 45
27 de julio 36
28 de julio 23
29 de julio 19

Para que lo sepas, he intentado usar medidas rápidas sin embargo me sale ERROR(«Las medidas rápidas de inteligencia de tiempo solo se pueden agrupar o filtrar por la columna de fecha principal o la jerarquía de fechas proporcionada por Power BI»). en el calc. y me aseguré de que la inteligencia de fecha/hora automática se haya marcado en las opciones para la carga de datos y también marqué mi tabla como fecha.

su ayuda será muy apreciada 🙂

Gracias, JL

Ashish_Mathur

Hola,

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

parar2k

@J_L intenta seguir la medida

Avg 14 Days =
VAR __startDate = CALCULATE( MIN( Table1[Date] ),  DATEADD( Table1[Date], -6, DAY ) )
VAR __endDate  = CALCULATE( MAX( Table1[Date] ),  DATEADD( Table1[Date], 7, DAY ) )
RETURN
CALCULATE( AVERAGE( Table1[SALES] ), DATESBETWEEN( Table1[Date], __startDate, __endDate ) )

parar2k

@J_L intenta seguir la medida

Avg 14 Days =
VAR __startDate = CALCULATE( MIN( Table1[Date] ),  DATEADD( Table1[Date], -6, DAY ) )
VAR __endDate  = CALCULATE( MAX( Table1[Date] ),  DATEADD( Table1[Date], 7, DAY ) )
RETURN
CALCULATE( AVERAGE( Table1[SALES] ), DATESBETWEEN( Table1[Date], __startDate, __endDate ) )

J_L

En respuesta a parar2k

Hola @parry2k,

¡Muchas gracias por su ayuda! Muy apreciado carita feliz

Definitivamente respondió a mi pregunta, sin embargo, me acabo de dar cuenta de que tengo otro desafío, ya que me gustaría poder calcular esto en promedio para un día de la semana (DOW), es decir, agregué un cortador DOW lunes, martes, miércoles , etc… en mi Tablero y quiero poder calcular este promedio en todos los ‘martes’, por ejemplo… Estoy seguro de que esto agrega complejidad adicional y me estoy pateando ahora por no incluir esto en el original ¡¡¡correo!!!

Gracias, JL

parar2k

En respuesta a J_L

@J_L quiere decir que si corta por DOW, desea calcular el promedio de 14 días para ese día de la semana, ¿correcto?

J_L

En respuesta a parar2k

Hola @parry2k

Sí, entonces me gustaría poder filtrar por DOW martes (por ejemplo) y espero que el promedio para el 5/02/2019 a continuación se calcule para incluir datos de la fecha para cada uno de los martes a continuación:

25/12/2018 martes
1/01/2019 martes
8/01/2019 martes
15/01/2019 martes
22/01/2019 martes
29/01/2019 martes
02/05/2019 martes
02/12/2019 martes
19/02/2019 martes
26/02/2019 martes
03/05/2019 martes
03/12/2019 martes
19/03/2019 martes
26/03/2019 martes

Espero que esto tenga sentido…

Gracias, JL

Ashish_Mathur

Hola,

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Deja un comentario

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