Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Hola
Tengo datos del año hasta la fecha, que no incluyen el saldo inicial. Necesito calcular el saldo inicial al comienzo de cada trimestre (que es el saldo de cierre del último día del trimestre del año anterior + el saldo de apertura de ese año) y luego el saldo de cierre de ese trimestre. He dado el ejemplo a continuación. Los datos son trimestrales del año hasta la fecha, por lo que mis fechas serían siempre las mismas todos los años. Avíseme si alguien puede ayudar con el DAX para superar este problema.
Datos que tengo | Datos que tengo | Naturaleza de la cantidad | Este es el resultado que quiero calcular | Este es el resultado que quiero calcular |
Fecha | Importe | Naturaleza de la cantidad | Saldo de apertura del año | Balance de cierre al final de cada trimestre |
31/12/2021 | 100 | Balance de cierre de 2021 | ||
31/03/2022 | 20 | Número acumulado en lo que va de año | 100 | 120 |
30/06/2022 | 30 | Número acumulado en lo que va de año | 100 | 130 |
30/09/2022 | 50 | Número acumulado en lo que va de año | 100 | 150 |
31/12/2022 | 80 | Número acumulado en lo que va de año | 100 | 180 |
31/03/2023 | 30 | Número acumulado en lo que va de año | 180 | 210 |
30/06/2023 | 40 | Número acumulado en lo que va de año | 180 | 220 |
30/09/2023 | 50 | Número acumulado en lo que va de año | 180 | 230 |
31/12/2023 | 60 | Número acumulado en lo que va de año | 180 | 240 |
31/03/2024 | 40 | Número acumulado en lo que va de año | 240 | 280 |
30/06/2024 | 60 | Número acumulado en lo que va de año | 240 | 300 |
30/09/2024 | 80 | Número acumulado en lo que va de año | 240 | 320 |
31/12/2024 | 90 | Número acumulado en lo que va de año | 240 | 330 |
Gracias.
Saludos
Prateek
Solved! Go to Solution.
@visitprateek
Agregué una tabla de fechas ya que admite funciones de inteligencia de tiempo.
Cree las siguientes medidas:
Total Amount = SUM(Data[Amount])
Opening Balance - Year =
VAR __CurrDate = MAX('Data'[Date])
VAR __YearStart = DATE(YEAR(__CurrDate),1,1)
VAR __Result =
IF( [Total Amount] <>BLANK(),
CALCULATE(
[Total Amount],
MONTH( 'Dates'[Date] ) = 12,
'Dates'[Date] < __YearStart
)
)
RETURN
__Result
Closing Balance - Qtr End =
[Opening Balance - Year] + [Total Amount]
Se adjunta el archivo
Hola
Comparta la tabla de datos sin procesar. Además, ¿desea escribir una medida o una fórmula de columna calculada?
Gracias. Esto es útil 🙂
@visitprateek
Agregué una tabla de fechas ya que admite funciones de inteligencia de tiempo.
Cree las siguientes medidas:
Total Amount = SUM(Data[Amount])
Opening Balance - Year =
VAR __CurrDate = MAX('Data'[Date])
VAR __YearStart = DATE(YEAR(__CurrDate),1,1)
VAR __Result =
IF( [Total Amount] <>BLANK(),
CALCULATE(
[Total Amount],
MONTH( 'Dates'[Date] ) = 12,
'Dates'[Date] < __YearStart
)
)
RETURN
__Result
Closing Balance - Qtr End =
[Opening Balance - Year] + [Total Amount]
Se adjunta el archivo
Gracias. Esto es muy útil y fácil de entender 🙂
Hola @visitprateek ,
Para calcular el saldo inicial al principio de cada trimestre y el saldo final al final de cada trimestre en Power BI, debemos recuperar el saldo final del último día del año anterior y asegurarnos de que el saldo inicial se transfiere correctamente al comienzo de cada trimestre. Dado que los datos consisten en valores trimestrales del año hasta la fecha, el saldo inicial de un año determinado se deriva del saldo final del año anterior.
La siguiente medida del DAX calcula el saldo de apertura del año recuperando el saldo de cierre del último día del año anterior:
Opening Balance for the Year =
VAR PreviousYearClosing =
CALCULATE(
MAX('Table'[Amount]),
'Table'[Date] = MAX('Table'[Date]) - 1,
'Table'[Nature of amount] = "Closing Balance of 2021"
)
VAR FirstDateOfYear =
CALCULATE(
MIN('Table'[Date]),
ALLEXCEPT('Table', 'Table'[Year])
)
RETURN
IF(
MAX('Table'[Date]) = FirstDateOfYear,
PreviousYearClosing,
BLANK()
)
Para calcular el saldo de cierre al final de cada trimestre, simplemente recuperamos el monto del año hasta la fecha al final de cada trimestre:
Closing Balance at End of Quarter =
MAX('Table'[Amount])
Para el Saldo Inicial al comienzo de cada trimestre, nos aseguramos de que se transfiera correctamente del trimestre anterior:
Opening Balance for Each Quarter =
VAR PreviousQuarterClosing =
CALCULATE(
MAX('Table'[Amount]),
'Table'[Date] = MAX('Table'[Date]) - 1
)
VAR OpeningBalanceYear =
CALCULATE(
MAX('Table'[Amount]),
'Table'[Date] = MAX('Table'[Date]) - 365
)
RETURN
IF(
MAX('Table'[Date]) = MINX(FILTER('Table', 'Table'[Year] = YEAR(MAX('Table'[Date]))), 'Table'[Date]),
OpeningBalanceYear,
PreviousQuarterClosing
)
Con estas medidas, el Saldo de Apertura de cada año toma correctamente el Saldo de Cierre del año anterior, mientras que el Saldo de Apertura de cada trimestre se deriva del Saldo de Cierre del trimestre anterior. El saldo de cierre sigue siendo el valor trimestral del año hasta la fecha proporcionado en el conjunto de datos. Esto garantiza que cada trimestre comience con el saldo acumulado correcto, al tiempo que se mantiene la coherencia a lo largo de los años.
Saludos
Hola, gracias por su rápida respuesta. Probé el DAX pero todavía no obtuve el resultado deseado. También en el primer DAX, no tengo ninguna columna para la Naturaleza de la cantidad, eso era solo para la información.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.