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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Calcular los últimos 1 meses y el próximo mes

Hola equipo,

Tengo un requisito para calcular la suma (ventas) para el período pasado un mes actual-próximo mes

Por ejemplo: Tengo filtro Fecha que tiene todas las fechas de 2017 - fecha actual

cuando el usuario selecciona 10-sep-2020 tiene que obtener las ventas desde el 1-Aug-2020 hasta el 31-Oct-2020

También necesito mostrar al usuario el período "1-Aug-2020 hasta 31-Oct-2020" en el mismo objeto visual de la tabla.

Por favor, ayúdame ¿cómo puedo calcular esto?

1 ACCEPTED SOLUTION
Icey
Community Support
Community Support

Hola @LP280388 ,

Por favor, compruebe:

period = 
VAR StartDate =
    IF (
        SELECTEDVALUE ( 'Dates'[Date] ) = BLANK (),
        FORMAT (
            EOMONTH ( MINX ( ALL ( 'Table' ), 'Table'[Date] ), -1 ) + 1,
            "d-MMM-YYYY"
        ),
        FORMAT ( EOMONTH ( SELECTEDVALUE ( Dates[Date] ), -2 ) + 1, "d-MMM-YYYY" )
    )
VAR EndDate =
    IF (
        SELECTEDVALUE ( 'Dates'[Date] ) = BLANK (),
        FORMAT ( EOMONTH ( MAXX ( ALL ( 'Table' ), 'Table'[Date] ), 0 ), "d-MMM-YYYY" ),
        FORMAT ( EOMONTH ( SELECTEDVALUE ( Dates[Date] ), 1 ), "d-MMM-YYYY" )
    )
RETURN
    StartDate & " till " & EndDate
Sum = 
VAR StartDate =
    EOMONTH ( SELECTEDVALUE ( Dates[Date] ), -2 ) + 1
VAR EndDate =
    EOMONTH ( SELECTEDVALUE ( Dates[Date] ), 1 )
RETURN
    IF (
        SELECTEDVALUE ( Dates[Date] ) = BLANK (),
        SUM ( 'Table'[Value] ),
        SUMX (
            FILTER (
                ALL ( 'Table' ),
                'Table'[Date] >= StartDate
                    && 'Table'[Date] <= EndDate
            ),
            'Table'[Value]
        )
    )

sum.gif

Saludos

Icey

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

View solution in original post

7 REPLIES 7
Icey
Community Support
Community Support

Hola @LP280388 ,

Por favor, compruebe:

period = 
VAR StartDate =
    IF (
        SELECTEDVALUE ( 'Dates'[Date] ) = BLANK (),
        FORMAT (
            EOMONTH ( MINX ( ALL ( 'Table' ), 'Table'[Date] ), -1 ) + 1,
            "d-MMM-YYYY"
        ),
        FORMAT ( EOMONTH ( SELECTEDVALUE ( Dates[Date] ), -2 ) + 1, "d-MMM-YYYY" )
    )
VAR EndDate =
    IF (
        SELECTEDVALUE ( 'Dates'[Date] ) = BLANK (),
        FORMAT ( EOMONTH ( MAXX ( ALL ( 'Table' ), 'Table'[Date] ), 0 ), "d-MMM-YYYY" ),
        FORMAT ( EOMONTH ( SELECTEDVALUE ( Dates[Date] ), 1 ), "d-MMM-YYYY" )
    )
RETURN
    StartDate & " till " & EndDate
Sum = 
VAR StartDate =
    EOMONTH ( SELECTEDVALUE ( Dates[Date] ), -2 ) + 1
VAR EndDate =
    EOMONTH ( SELECTEDVALUE ( Dates[Date] ), 1 )
RETURN
    IF (
        SELECTEDVALUE ( Dates[Date] ) = BLANK (),
        SUM ( 'Table'[Value] ),
        SUMX (
            FILTER (
                ALL ( 'Table' ),
                'Table'[Date] >= StartDate
                    && 'Table'[Date] <= EndDate
            ),
            'Table'[Value]
        )
    )

sum.gif

Saludos

Icey

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

lkalawski
Memorable Member
Memorable Member

Hola @LP280388

Dada esta estructura de datos y tabla de fechas:

lkalawski_0-1600778741359.png

Puede crear una medida:

Sum = 
CALCULATE(Sum(Tbl[Value]), 
    FILTER(ALL('Date'[Date]), 
        'Date'[Date] >= DATE(YEAR(MAX('Date'[Date])), MONTH(MAX('Date'[Date]))-1,1)
        && 'Date'[Date] <= DATE(YEAR(MAX('Date'[Date])), MONTH(MAX('Date'[Date]))+1,30)
        )
    )

En el informe, en el objeto visual de segmentación de datos, agregue Fecha desde la tabla Fecha y, además, Tarjeta, que le mostrará el resultado de la medida.
Resultado de la muestra:

lkalawski_3-1600778896980.png

lkalawski_4-1600778922160.png



_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀

Anonymous
Not applicable

@lkalawski Gracias por la respuesta.

Yo también tengo el mismo resultado de su medida.

lo que necesito es, cuando selecciono cualquier fecha en Sep, debe dar el mismo resultado calculado del 1 de agosto al 31 de octubre independientemente de la fecha que seleccione en Sep.

Hola @LP280388

¿Puede compartir su muestra de datos y relaciones entre tablas?

Creo que ese problema es con la relación, pero quiero comprobarlo.



_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀

Anonymous
Not applicable

No puedo compartir el archivo ya que no puedo crear datos ficticios.

la relación entre las tablas Fecha y ventas es de 1 a muchas. Así es como modifiqué la medida.

Am ?
CALCULATE(AVERAGE(Query1[Bill Rate]),
FILTER(ALL('Dim_Date (2)'[Fecha]),
'Dim_Date (2)'[Fecha] >- FECHA(YEAR(MAX('Dim_Date (2)'[Fecha])), MONTH(MAX('Dim_Date (2)'[Fecha]))-1,1)
&& 'Dim_Date (2)'[Fecha] <- DATE(YEAR(MAX('Dim_Date (2)'[Fecha])), MONTH(MAX('Dim_Date (2)'[Fecha]))+1,30)
)
)
amitchandak
Super User
Super User

@LP280388 , Con una tabla de fechas, pruebe una medida como

CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],Startofmonth(dateadd(Sales[Sales Date],-1,month)),3,MONTH))

Eso acumulará los datos en un mes: para eso se refiere :https://www.youtube.com/watch?v=duMSovyosXE

Anonymous
Not applicable

@amitchandak Gracias Amit,

Intenté lo de abajo. Su funcionamiento, pero el problema es cuando selecciono cualquier fecha entre 1-sep-2020 a 20-Sep-2020, esto debe dar el mismo valor que se calcula para el período 1-aug-2020 a 31-Oct-2020. Pero no es así.

apagado
var _max1 á maxx(allselected('Dim_Date (2)'),'Dim_Date (2)'[Fecha])
fue _max eomonth(_max1,1)
var _min1 á minx(allselected('Dim_Date (2)'),'Dim_Date (2)'[Fecha])
var _min á date(year(_min1),month(_min1)-1,1)
devolución
calculate([measure],filter(All('Dim_Date (2)'), 'Dim_Date (2)'[Fecha] >'_min && 'Dim_Date (2)'[Fecha] <-_max))

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors