Forum Discussion

teixidor's avatar
teixidor
Frequent Visitor
4 years ago
Solved

Calculo MTD a final de mes

Tengo una formula DAX para calcular el presupuesto acumulado del mes a una fecha que pone el usuario

Pres_MTD_€:= TOTALMTD(pressupost[Pres_€],CALENDARIO[Fecha])

 

Esto funciona correctamente, pero necesitaria otra medida para calcular el importe del presupuesto a final de mes de la fecha que pone el usuario. Es decir si el usuario pone en la fecha 10/06/2022, necesitaria el importe acumulado a 30/06/2022.

 

Gracias por adelantado

 

 

  • La solucion que funciona correctamente es :

     

    datafin = CALCULATE(MAX(CALENDARIO[Fecha]))
     
    Pres_MES =
    VAR mesFinal = MONTH(CALENDARIO[datafin])
    VAR yearFinal = YEAR(CALENDARIO[datafin])
    RETURN
    CALCULATE([Importe_pres], FILTER(ALL(CALENDARIO), CALENDARIO[Año] = yearFinal && CALENDARIO[Mes] = mesFinal))

4 Replies

  • @Syndicate_Admin ,

    Podrías probar como :-

    measure =
    VAR selected_Value =
        SELECTEDVALUE ( budget[fecha] )
    RETURN
        CALCULATE (
            budget[pres],
            FILTER ( ALL ( Calender ), Calender[fecha] <= EOMONTH ( selected_Value, 0 ) )
        )
    • teixidor's avatar
      teixidor
      Frequent Visitor

      Hola, gracias por la respuesta.

      No me funciona , he puesto la formula que indicas y sale el valor vacio.

       

      Ejemplo con fecha a 10/02/2021.  Estos son los datos que tengo :

       

      VENTAS

      empresa fecha importe
      EMP1 01/01/2021 100,00 €
      EMP1 01/01/2021 68,00 €
      EMP1 01/01/2021 56,78 €
      EMP1 04/01/2021 500,00 €
      EMP1 04/01/2021 45,00 €
      EMP1 06/01/2021 700,84 €
      EMP1 07/01/2021 100,00 €
      EMP1 08/01/2021 201,00 €
      EMP1 10/01/2021 20,00 €
      EMP1 10/01/2021 24,00 €
      EMP1 07/02/2021 100,00 €
      EMP1 08/02/2021 201,00 €
      EMP1 09/02/2021 20,00 €
      EMP1 10/02/2021 24,00 €
      EMP1 11/02/2021 24,00 €
      EMP1 12/02/2021 24,00 €
      EMP1 13/02/2021 100,12 €

       

      ventas febrero a 10/02/2021 : 345

       

       

      presupuesto

      empresa fecha press
      EMP1 01/01/2021 50
      EMP1 02/01/2021 50
      EMP1 03/01/2021 50
      EMP1 04/01/2021 50
      EMP1 05/01/2021 50
      EMP1 06/01/2021 50
      EMP1 07/01/2021 50
      EMP1 08/01/2021 50
      EMP1 09/01/2021 50
      EMP1 10/01/2021 50
      EMP1 11/01/2021 50
      EMP1 12/01/2021 60
      EMP1 13/01/2021 60
      EMP1 14/01/2021 60
      EMP1 15/01/2021 60
      EMP1 16/01/2021 60
      EMP1 17/01/2021 60
      EMP1 18/01/2021 60
      EMP1 19/01/2021 60
      EMP1 20/01/2021 60
      EMP1 21/01/2021 60
      EMP1 22/01/2021 60
      EMP1 23/01/2021 70
      EMP1 24/01/2021 70
      EMP1 25/01/2021 70
      EMP1 26/01/2021 70
      EMP1 27/01/2021 70
      EMP1 28/01/2021 70
      EMP1 29/01/2021 70
      EMP1 30/01/2021 70
      EMP1 31/01/2021 80
      EMP1 01/02/2021 60
      EMP1 02/02/2021 60
      EMP1 03/02/2021 60
      EMP1 04/02/2021 60
      EMP1 05/02/2021 60
      EMP1 06/02/2021 60
      EMP1 07/02/2021 60
      EMP1 08/02/2021 60
      EMP1 09/02/2021 60
      EMP1 10/02/2021 60
      EMP1 11/02/2021 60
      EMP1 12/02/2021 60
      EMP1 13/02/2021 60
      EMP1 14/02/2021 60
      EMP1 15/02/2021 76
      EMP1 16/02/2021 76
      EMP1 17/02/2021 76
      EMP1 18/02/2021 76
      EMP1 19/02/2021 76
      EMP1 20/02/2021 76
      EMP1 21/02/2021 85
      EMP1 22/02/2021 85
      EMP1 23/02/2021 85
      EMP1 24/02/2021 85

      total presupuesto febrero : 18.970
      presupuesto febrero a 10/02/21 : 600

       

      resultado

      ventas_mtd = totalmtd(VENTAS[importe_],CALENDARIO[Fecha])     ok 345
      pres_mtd = totalmtd(PRESUPUESTO[press],CALENDARIO[Fecha])   ok 600

       

      pres_EOMONTH = VAR selected_Value = SELECTEDVALUE ( PRESUPUESTO[fecha] ) RETURN CALCULATE ( PRESUPUESTO[press], FILTER ( ALL ( CALENDARIO ), CALENDARIO[Fecha] <= EOMONTH ( selected_Value, 0 ) ) )

      no ok , sale vacio. Deberia salir el importe del presupuesto de todo el mes de febrero 18.970

       

      Gracias

  • @Syndicate_Admin ,

    ¿Cuál es su resultado deseado?

    Cómo se pueden conseguir las rebajas de febrero al 10/02/2021 : 345. Después de calcular, obtengo el resultado 172.12. Del 2/2/2021 al febrero: 24+24+24+100.12=172.12.

    Measure =
    VAR _SELECTVALUE =
        SELECTEDVALUE ( SALES[DATE] )
    VAR _ENDMONTH =
        EOMONTH ( _SELECTVALUE, 0 )
    RETURN
        CALCULATE (
            SUM ( SALES[AMOUNT] ),
            FILTER (
                ALL ( SALES ),
                SALES[company] = SELECTEDVALUE ( SALES[company] )
                    && SALES[DATE] <= _ENDMONTH
                    && SALES[DATE] >= _SELECTVALUE
            )
        )
    

    presupuesto total febrero: 1636

    ¿Cómo calcular para obtener 600?

    ¿Podría proporcionar el resultado deseado con más detalles?

    Saludos
    Equipo de apoyo a la comunidad _ Polly

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

  • teixidor's avatar
    teixidor
    Frequent Visitor

    La solucion que funciona correctamente es :

     

    datafin = CALCULATE(MAX(CALENDARIO[Fecha]))
     
    Pres_MES =
    VAR mesFinal = MONTH(CALENDARIO[datafin])
    VAR yearFinal = YEAR(CALENDARIO[datafin])
    RETURN
    CALCULATE([Importe_pres], FILTER(ALL(CALENDARIO), CALENDARIO[Año] = yearFinal && CALENDARIO[Mes] = mesFinal))