Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
Syndicate_Admin
Administrator
Administrator

¿Necesita ayuda con el dax inteligente del tiempo?

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 tengoDatos que tengoNaturaleza de la cantidadEste es el resultado que quiero calcularEste es el resultado que quiero calcular
FechaImporteNaturaleza de la cantidadSaldo de apertura del añoBalance de cierre al final de cada trimestre
31/12/2021100Balance de cierre de 2021
31/03/202220Número acumulado en lo que va de año100120
30/06/202230Número acumulado en lo que va de año100130
30/09/202250Número acumulado en lo que va de año100150
31/12/202280Número acumulado en lo que va de año100180
31/03/202330Número acumulado en lo que va de año180210
30/06/202340Número acumulado en lo que va de año180220
30/09/202350Número acumulado en lo que va de año180230
31/12/202360Número acumulado en lo que va de año180240
31/03/202440Número acumulado en lo que va de año240280
30/06/202460Número acumulado en lo que va de año240300
30/09/202480Número acumulado en lo que va de año240320
31/12/202490Número acumulado en lo que va de año240330

Gracias.

Saludos

Prateek

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@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]

Fowmy_0-1739570372422.png

Se adjunta el archivo

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola

Comparta la tabla de datos sin procesar. Además, ¿desea escribir una medida o una fórmula de columna calculada?

Syndicate_Admin
Administrator
Administrator

Agregue la columna [Año] para incorporar la elegante función de Windows.

ThxAlot_1-1739572153072.png

ThxAlot_0-1739572123455.png

Gracias. Esto es útil 🙂

Syndicate_Admin
Administrator
Administrator

@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]

Fowmy_0-1739570372422.png

Se adjunta el archivo

Gracias. Esto es muy útil y fácil de entender 🙂

Syndicate_Admin
Administrator
Administrator

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.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors