cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Calcular MAT (Total anual móvil) solo cuando tenga una MAT completa (12 meses)


Estoy tratando de calcular MAT Moving Anual Total sólo cuando tengo 12 meses de ventas.
¿cómo puedo restringir el cálculo de la MAT sólo para una MAT completa.

Mi fórmula de medida actual es:

ALIMENTOS =

VAR Current_Date= MAX ('Aux_Date'[Fecha de fin de mes])

VAR Previous_Date= FECHA (AÑO(Current_Date),MES(Current_Date)-12,DÍA(Current_Date))

Resultado var= CALCULATE(
SUM(Vendas_Base_Data_Final[Unidades]),
FILTRO(
Vendas_Base_Data_Final,
Vendas_Base_Data_Final[Fecha de fin de mes] > Previous_Date && Vendas_Base_Data_Final[Fecha de fin de mes] <= Current_Date
)
)

VAR Aux_N_Months= CALCULATE(
COUNTROWS ( VALORES ( Vendas_Base_Data_Final[Fecha de fin de mes])),
FILTRO(
Vendas_Base_Data_Final,
Vendas_Base_Data_Final[Fecha de fin de mes] > Previous_Date && Vendas_Base_Data_Final[Fecha de fin de mes] <= Current_Date
)
)


devolución
si (RESUMEN(Aux_N_Months,[Aux_N_Months])=12, Resultado,BLANK())

Pero esto no es correcto. ¿Alguien puede ayudar?

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Asumo que la fecha en la que comenzaron 12 meses es un punto fijo en el tiempo. La solución más simple y eficiente es simplemente codificarlo duro dentro de un si.

IF(max(fact[date]]>date(2018,3,3), :su código aquí: )

también, hazte un favor y simplifica tus nombres de mesa

en lugar de Vendas_Base_Data_Final

¿por qué no data?

View solution in original post

Syndicate_Admin
Administrator
Administrator

No @Patekos,

Creo los siguientes datos de ejemplo para calcular MAT Moving Anual Total solo cuando tengo 3 meses de ventas. . A continuación, cree la medida:

MAT = 
VAR Current_Date= 
  MAX('Aux_Date'[End of Month Date])
VAR Previous_Date= 
  EOMONTH(Current_Date,-3)
VAR Result= 
  CALCULATE(
    SUM(Vendas_Base_Data_Final[Unidades]),
    FILTER(
      Vendas_Base_Data_Final,
      Vendas_Base_Data_Final[End of Month Date] > Previous_Date 
      && Vendas_Base_Data_Final[End of Month Date] <= Current_Date
    )
  )
VAR Aux_N_Months= 
  CALCULATE(
    COUNTROWS ( Vendas_Base_Data_Final ),
    FILTER(
      ALL(Vendas_Base_Data_Final),
      Vendas_Base_Data_Final[End of Month Date] > Previous_Date 
      && Vendas_Base_Data_Final[End of Month Date] <= Current_Date
    )
  )
Return
  if (Aux_N_Months=3, Result,BLANK())

v-kkf-msft_0-1614647831648.png

Este es mi archivo PBIX.

https://microsoftapc-my.sharepoint.com/:u:/g/personal/v-lazhang_microsoft_com/Efd-oV7r1rFAuzmmyMXVe9...

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

No @Patekos,

Creo los siguientes datos de ejemplo para calcular MAT Moving Anual Total solo cuando tengo 3 meses de ventas. . A continuación, cree la medida:

MAT = 
VAR Current_Date= 
  MAX('Aux_Date'[End of Month Date])
VAR Previous_Date= 
  EOMONTH(Current_Date,-3)
VAR Result= 
  CALCULATE(
    SUM(Vendas_Base_Data_Final[Unidades]),
    FILTER(
      Vendas_Base_Data_Final,
      Vendas_Base_Data_Final[End of Month Date] > Previous_Date 
      && Vendas_Base_Data_Final[End of Month Date] <= Current_Date
    )
  )
VAR Aux_N_Months= 
  CALCULATE(
    COUNTROWS ( Vendas_Base_Data_Final ),
    FILTER(
      ALL(Vendas_Base_Data_Final),
      Vendas_Base_Data_Final[End of Month Date] > Previous_Date 
      && Vendas_Base_Data_Final[End of Month Date] <= Current_Date
    )
  )
Return
  if (Aux_N_Months=3, Result,BLANK())

v-kkf-msft_0-1614647831648.png

Este es mi archivo PBIX.

https://microsoftapc-my.sharepoint.com/:u:/g/personal/v-lazhang_microsoft_com/Efd-oV7r1rFAuzmmyMXVe9...

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

View solution in original post

Syndicate_Admin
Administrator
Administrator

Asumo que la fecha en la que comenzaron 12 meses es un punto fijo en el tiempo. La solución más simple y eficiente es simplemente codificarlo duro dentro de un si.

IF(max(fact[date]]>date(2018,3,3), :su código aquí: )

también, hazte un favor y simplifica tus nombres de mesa

en lugar de Vendas_Base_Data_Final

¿por qué no data?

View solution in original post

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

April Update

Check it Out!

Click here to read more about the April 2021 Updates!

MBAS Carousel

Sign up for our May 4th event!

May the fourth be with you, join us online!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.