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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Syndicate_Admin
Administrator
Administrator

Ventas hasta la fecha con comparativa con hace dos años

Hola

Lucho con la medida simple, pero no puedo hacer que funcione. Quiero calcular las ventas de hace dos años hasta una fecha determinada.

Si hoy es 08.08.2024, quiero escribir la fórmula que calcula las ventas desde el 01.01.2022 hasta el 08.08.2022. Parece fácil, pero de alguna manera simplemente no puedo escribirlo correctamente.

¿Cómo lo escribirías?

Eso es básicamente lo que quiero lograr.

AntonioCarl_3-1723121431838.png

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hola

No estoy seguro de cómo se ve su modelo semántico, pero intenté crear un archivo pbix de muestra como se muestra a continuación.

Verifique la imagen a continuación y el archivo pbix adjunto.

Es solo una de muchas formas.

Jihwan_Kim_1-1723123523620.png

Jihwan_Kim_0-1723123471746.png

Sales: = 
SUM( sales[sales] )

Sales Prev. Year = 
VAR _t =
    FILTER (
        ADDCOLUMNS (
            VALUES ( 'calendar'[Date] ),
            "@sales", [Sales:],
            "@PrevSales", CALCULATE ( [Sales:], DATEADD ( 'calendar'[Date], -1, YEAR ) )
        ),
        NOT ISBLANK ( [@sales] )
    )
RETURN
    SUMX ( _t, [@PrevSales] )

Sales Two Years ago = 
VAR _t =
    FILTER (
        ADDCOLUMNS (
            VALUES ( 'calendar'[Date] ),
            "@sales", [Sales:],
            "@PrevSales", CALCULATE ( [Sales:], DATEADD ( 'calendar'[Date], -2, YEAR ) )
        ),
        NOT ISBLANK ( [@sales] )
    )
RETURN
    SUMX ( _t, [@PrevSales] )

Bueno, se ve bien, pero no creo que lo sea.

Si mi último día de ventas fue, por ejemplo, el 04.08.2024, pero hace dos años hubo ventas después del 04.08.2022 hasta el 08.08.2022. No los mostrará en la medida SalesTwoYearsAgo.

Hola

Gracias por su mensaje, y tiene razón.

En su caso, intente usar TODAY() como condición del filtro, en lugar de usar el monto de ventas no en blanco como condición del filtro.

Gracias.

Syndicate_Admin
Administrator
Administrator

Intente crear campos separados para día, mes y año, después, use hoy (día), hoy (mes) y hoy (año) para separarse y crear una nueva fecha concatenada hoy (día) + hoy (mes) + hoy (año) -2, si hoy es 08/08/2024, el retorno será newdate = 08/08/2022, y use startofmonth (new_date) para crear un rango para filtrar con una medición calculada.

Syndicate_Admin
Administrator
Administrator

@AntonioCarl,

A continuación, se muestra un ejemplo de medida. No estoy seguro de si su modelo tiene una tabla de fechas, pero puede ajustarla en consecuencia.

Sales =
VAR vToday =
    TODAY ()
VAR vCurrentYear =
    YEAR ( vToday )
VAR vCurrentMonth =
    MONTH ( vToday )
VAR vCurrentDay =
    DAY ( vToday )
VAR vStartDate =
    DATE ( vCurrentYear - 2, 1, 1 )
VAR vEndDate =
    DATE ( vCurrentYear - 2, vCurrentMonth, vCurrentDay )
VAR vResult =
    CALCULATE (
        SUM ( Table[Sales] ),
        Table[Date] >= vStartDate,
        Table[Date] <= vEndDate
    )
RETURN
    vResult

Bueno, gracias.
Solo necesité ajustar el resultado para que se calculara sin ignorar el mes en la matriz y funcionó. Perfecto.

VAR vResult =
    CALCULATE (
        SUM ( Table[Sales] ),
        Calendar[Date] >= vStartDate,
        Calendar[Date] <= vEndDate,
        VALUES ( Calendar[Month] )
    )

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors