Forum Discussion

paolomint's avatar
paolomint
Icon for Helper III rankHelper III
6 years ago
Solved

Rolling sum no from zero

Hola

Estoy trabajando en una suma de carreras, pero esta vez necesito algo diferente:

Como primer paso construí una suma móvil estándar:

ROLLING SUM - CALCULATE(sum(SCADENZE[AMOUNT]), filter(ALLSELECTED(SCADENZE), SCADENZE[DATA SCADENCE]<-MAX(SCADENZE[DATE DATE]))))

Hace una suma balanceable de la variación previsional positiva/negativa en la cuenta bancaria.

Ahora necesito que el cálculo no comience desde Cero, sino desde el saldo de la cuenta bancaria

Hice una medida para calcular el saldo de la cuenta bancaria en "tiempo cero" y ahora necesito crear una nueva medida para "decir" a powerBi no empezar desde CERO sino desde BANK_BALANCE

Si hago esto:

• BANK_BALANCE + ROLLING SUM

No funciona, Hace el cálculo para cada día. Necesito que el saldo del Banco se considere sólo para el primer día.

Un ejemplo puede ayudarme a explicar mejor:

FechaBALANCE BANCARIO*VariaciónIncorrecto Incorrecto Correcto
25.09.201000+20020012001200
26.09.201000+40060014001600
30.09.201000-1005009001500
02.10.201000-700-200300800

* El saldo bancario no cambia porque estamos hablando de variaciones futuras aún no han ocurrido.

Gracias por la ayuda

  • Hola @paolomint ,

    Tal vez entiendo lo que quieres decir. En función de su descripción, tiene dos tablas y desea que el importe se conserve en la tabla "banco" como el importe inicial de la tabla de "flujo".

    Prueba la medida.

    ROLL_FLOW =
    VAR base = [ROLL_BANK]
    VAR end_date =
        CALCULATE ( MAX ( Bank[Date] ), ALL ( Bank ) )
    RETURN
        IF (
            MAX ( FLOW[Date] ) > end_date,
            CALCULATE (
                SUM ( FLOW[VARIATION] ),
                FILTER ( ALLSELECTED ( FLOW ), FLOW[Date] <= MAX ( FLOW[Date] ) )
            ) + base,
            BLANK ()
        )

    Ejemplo .pbix

    Saludos
    Liang
    Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

6 Replies

  • @paolomint

    No muy claro sobre el requisito.

    ¿Puede comprobar esto, Repace el XXXXX con el archivo que necesita para net off

    ROLLING SUM =
    CALCULATE (
        SUM ( SCADENZE[IMPORTO] ) - SUM ( SCADENZE[xxxxx] ),
        FILTER (
            ALLSELECTED ( SCADENZE ),
            SCADENZE[DATA SCADENZA] <= MAX ( SCADENZE[DATA SCADENZA] )
        )
    )

    ________________________

    Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla

    Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

    Youtube Linkedin

    • paolomint's avatar
      paolomint
      Icon for Helper III rankHelper III

      Hola @Fowmy

      gracias por su respuesta rápida, no funciona,

      Permítanme tratar de explicar mejor con un ejemplo

      Las transacciones de saldo de cuenta están en una tabla [BANK]

      BALANCE DE APERTURA : 1000

      FechaVariación
      01.09.2020+300
      02.09.2020-400
      05.09.2020+800

      BALANCE FINAL : 1700

      Para obtener el saldo final puedo utilizar una fórmula clásica de RUNNING SUM:

      ROLL_BANK: CALCULATE(sum(BANK[VARIATION]), filter(ALLSELECTED(BANK), BANK[DATE]<-MAX(BANK[DATE])))

      --------------------------------------------------------------------------------------------------------------------------------------

      En otra tabla tengo la futura varación [FLOW]

      FechaVariación
      25.09.2020+200
      30.09.2020-500
      05.10.2020- 400
      ROLLING SUM- 700

      Fórmula RUNNING SUM:

      ROLL_FLOW: CALCULATE(sum(FLOW[VARIATION]), filter(ALLSELECTED(FLOW), FLOW[DATE]<-MAX(FLOW[DATE])))

      ---------------------------------------------------------------------------------------------------------------------------------------

      Necesito una medida para obtener el siguiente resultado:

      FechaVariación
      25.09.20201900
      30.09.20201400
      05.10.20201000

      Gracias por tu ayuda

      Adiós

      • Ashish_Mathur's avatar
        Ashish_Mathur
        Icon for Super User rankSuper User

        Hola

        En la tabla BANK, no tiene sentido tener una entrada de texto (saldo de apertura) en una columna Fecha. Debe haber una fecha en lugar de esa entrada de texto.