es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Medida de Power BI – Columna de saldo de chequera.

Objetivo:
Busco generar una medida de columna (BALANCE DINÁMICO) que lea la primera fila de BALANCE, y calcule el balance de las filas siguientes usando la columna AMOUNT.

Problemas encontrados:
1. La medida debería ignorar el AMOUNT en la primera fila y capturar solo el BALANCE en una variable.
2. Mi fórmula de la primera fila captura ambos valores para el 1/1/2021 en lugar de solo el valor de balance de la fila superior.

Fecha Descripción AMOUNT BALANCE
1/1/2021 Comida de perro -20.00 980.00
1/1/2021 McDonalds -30.00 950.00
1/5/2021 Día de pago 1000.00 1950.00
1/8/2021 Comida de perro -20.00 1930.00
1/10/2021 Servicios médicos -1000.00 930.00
1/18/2021 McDonalds -30.00 900.00
1/21/2021 Día de pago 1000.00 1900.00
1/31/2021 Comida de perro -50.00 1850.00
2/2/2021 McDonalds -40.00 1810.00

¡Eres mi héroe!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear la medida de columna deseada (BALANCE DINÁMICO) que lee la primera fila de BALANCE y calcula el saldo de las filas siguientes utilizando la columna AMOUNT, podemos utilizar la siguiente fórmula en PowerBI:

    BALANCE DINÁMICO =
    VAR FirstBalance =
        CALCULATE (
            VALUES ( TableName[BALANCE] ),
            FILTER ( ALLSELECTED ( TableName ), TableName[Date] = MIN ( TableName[Date] ) )
        )
    RETURN
        IF (
            MIN ( TableName[Date] ) = CALCULATE ( MIN ( TableName[Date] ), ALLSELECTED ( TableName ) ),
            FirstBalance,
            CALCULATE (
                SUM ( TableName[AMOUNT] ),
                FILTER ( ALLSELECTED ( TableName ), TableName[Date] <= MIN ( TableName[Date] ) )
            )
                + FirstBalance
        )
    

    La fórmula utiliza una variable para capturar el BALANCE de la primera fila e ignora la columna AMOUNT en esa fila. Luego realiza una verificación condicional para ver si la fila actual es la primera fila, y si lo es, devuelve el valor de la variable FirstBalance. Si no es la primera fila, calcula el saldo en ejecución utilizando la SUMA de la columna AMOUNT hasta e incluyendo la fila actual, y lo suma a la variable FirstBalance para obtener el BALANCE DINÁMICO.

    Esta fórmula debería solucionar los dos problemas encontrados y generar la medida de columna deseada.

Comments are closed.