Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hola comunidad.
Necesito que me ayuden con el siguiente problema.
Necesito la media móvil de los últimos 12 meses, el número de días que demora un pedido en ser importado de forma marítima, el problema se origina en los meses donde no hubieron pedidos.
Estoy usando la siguiente medida:
La formula calcula de forma correcta el PM pero cuando tengo meses sin pedidos no me considera los últimos 12 pedidos.
Por ejemplo si tengo 2 meses sin pedidos solo me promedia los últimos 10 meses.
¿Cómo podría obtener los últimos 12 periodos excluyendo los meses vacíos?
Espero que me puedan apoyar como realizar este calculo.
Gracias.
Solved! Go to Solution.
Hola , tenia un inconveniente en la segunda parte ya que no me consideraba los n periodos,
así que lo hice de la siguiente forma:
Dias demora por pedido =
IF(Medidas[Dias OC vs Entrega]=0,
BLANK(),
VAR dias_12m=
CALCULATE(Medidas[Dias OC vs Entrega]/
COUNTROWS(FILTER(VALUES('Dim_ Calendario'[Año y mes]),
NOT(ISBLANK(Medidas[Dias OC vs Entrega])))),
DATESINPERIOD('Dim_ Calendario'[Fecha],
MAX('Dim_ Calendario'[Fecha]),-12,MONTH))
VAR pedidos_12m=
CALCULATE(Medidas[N° de Compras]/
COUNTROWS(FILTER(VALUES('Dim_ Calendario'[Año y mes]),
NOT(ISBLANK(Medidas[N° de Compras])))),
DATESINPERIOD('Dim_ Calendario'[Fecha],
MAX('Dim_ Calendario'[Fecha]),-12,MONTH))
VAR Resultado = DIVIDE(dias_12m,pedidos_12m)
RETURN
Resultado
)
Gracias de todas formas Polly.
Hola , tenia un inconveniente en la segunda parte ya que no me consideraba los n periodos,
así que lo hice de la siguiente forma:
Dias demora por pedido =
IF(Medidas[Dias OC vs Entrega]=0,
BLANK(),
VAR dias_12m=
CALCULATE(Medidas[Dias OC vs Entrega]/
COUNTROWS(FILTER(VALUES('Dim_ Calendario'[Año y mes]),
NOT(ISBLANK(Medidas[Dias OC vs Entrega])))),
DATESINPERIOD('Dim_ Calendario'[Fecha],
MAX('Dim_ Calendario'[Fecha]),-12,MONTH))
VAR pedidos_12m=
CALCULATE(Medidas[N° de Compras]/
COUNTROWS(FILTER(VALUES('Dim_ Calendario'[Año y mes]),
NOT(ISBLANK(Medidas[N° de Compras])))),
DATESINPERIOD('Dim_ Calendario'[Fecha],
MAX('Dim_ Calendario'[Fecha]),-12,MONTH))
VAR Resultado = DIVIDE(dias_12m,pedidos_12m)
RETURN
Resultado
)
Gracias de todas formas Polly.
Gracias Polly por tu ayuda aunque en la columna calculada debiera tomar un periodo menos:
ayear before = EDATE('Table'[date],-11)
Hi @INTERPRARY ,
I have created a siple sample, please refer to it to see if it helps you.
Create a column first.
ayear before = EDATE('Table'[date],-12)
Then create a measure.
Measure =
VAR _before12 =
CALCULATE (
SUM ( 'Table'[value] ),
DATESINPERIOD ( 'Table'[date], MAX ( 'Table'[date] ), -12, MONTH )
)
VAR _monthnumber =
CALCULATE (
COUNT ( 'Table'[date] ),
FILTER (
ALL ( 'Table' ),
'Table'[date] >= SELECTEDVALUE ( 'Table'[ayear before] )
&& 'Table'[date] <= SELECTEDVALUE ( 'Table'[date] )
)
)
RETURN
_before12 / _monthnumber
If I have misunderstood your meaning,please also provide a simple sample with your desired output.
Best Regards
Community Support Team _ Polly
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 20 | |
| 10 | |
| 9 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 33 | |
| 31 | |
| 19 | |
| 12 | |
| 11 |