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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Cambio de porcentaje de KPI durante el tiempo seleccionado

Hola

Necesito construir una tarjeta KPI que muestre la diferencia porcentual de la misma medida durante el período de tiempo seleccionado. Por ejemplo, quiero mostrar el % de aumento del tipo de cambio EURO/USD durante el período de tiempo seleccionado por el usuario (por ejemplo, julio 2015 - noviembre de 2020). He intentado usar la medida rápida de cambio mes a mes, pero eso no funciona porque el número de períodos debe ser flexible.

Gracias

1 ACCEPTED SOLUTION
v-deddai1-msft
Community Support
Community Support

Hola @seferreirama ,

Por favor, intente la siguiente medida:

Measure1 =
VAR __PREV_MONTH =
    CALCULATE (
        AVERAGE ( 'Merge1'[Rate] ),
        FILTER (
            'Merge1',
            MONTH ( 'Merge1'[Date] ) = MONTH ( MIN ( 'Merge1'[Date] ) )
                && YEAR ( 'Merge1'[Date] ) = YEAR ( MIN ( 'Merge1'[Date] ) )
        )
    )
RETURN
    DIVIDE (
        CALCULATE (
            AVERAGE ( 'Merge1'[Rate] ),
            FILTER (
                'Merge1',
                MONTH ( 'Merge1'[Date] ) = MONTH ( MAX ( 'Merge1'[Date] ) )
                    && YEAR ( 'Merge1'[Date] ) = YEAR ( MAX ( 'Merge1'[Date] ) )
            )
        ) - __PREV_MONTH,
        __PREV_MONTH
    )

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

Saludos

Dedmon Dai

View solution in original post

4 REPLIES 4
v-deddai1-msft
Community Support
Community Support

Hola @seferreirama ,

Por favor, intente la siguiente medida:

Measure1 =
VAR __PREV_MONTH =
    CALCULATE (
        AVERAGE ( 'Merge1'[Rate] ),
        FILTER (
            'Merge1',
            MONTH ( 'Merge1'[Date] ) = MONTH ( MIN ( 'Merge1'[Date] ) )
                && YEAR ( 'Merge1'[Date] ) = YEAR ( MIN ( 'Merge1'[Date] ) )
        )
    )
RETURN
    DIVIDE (
        CALCULATE (
            AVERAGE ( 'Merge1'[Rate] ),
            FILTER (
                'Merge1',
                MONTH ( 'Merge1'[Date] ) = MONTH ( MAX ( 'Merge1'[Date] ) )
                    && YEAR ( 'Merge1'[Date] ) = YEAR ( MAX ( 'Merge1'[Date] ) )
            )
        ) - __PREV_MONTH,
        __PREV_MONTH
    )

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

Saludos

Dedmon Dai

v-deddai1-msft
Community Support
Community Support

Hola @seferreirama ,

¿Podría intentar utilizar la función DATEDIFF para cambiar la medida rápida de cambio mes tras mes?

EURO/USD MoM% 2 =
IF (
    ISFILTERED ( 'Calendar'[date] ),
    ERROR ( "Time intelligence quick measures can only be grouped or filtered by the Power BI-provided date hierarchy or primary date column." ),
    VAR __PREV_MONTH =
        CALCULATE (
            [EURO/USD],
            DATEADD (
                'Calendar'[date],
                DATEDIFF ( MIN ( 'Calendar'[date] ), MAX ( 'Calendar'[date] ), MONTH ),
                MONTH
            )
        )
    RETURN
        DIVIDE ( [EURO/USD] - __PREV_MONTH, __PREV_MONTH )
)

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

Saludos

Dedmon Dai

Anonymous
Not applicable

Hola @v-deddai1-msft ,

Gracias por el datediff, que funciona, pero no estoy recibiendo los resultados esperados. Por ejemplo, he seleccionado el tipo de cambio EUR/BRL y el período de tiempo: Jan19 - Dic 19.

De acuerdo con mis datos Ene 19 a 4,27 y Dec 19 a 4,57. Por lo tanto, el cálculo debe ser: (4,57-4,27)/4,27 a 7% .

Sin embargo, con la siguiente medida actualmente tengo:

Tasa MoM% ?
SI(
ISFILTERED('Merge1'[Fecha]),
ERROR("Las medidas rápidas de inteligencia de tiempo solo se pueden agrupar o filtrar por la jerarquía de fechas proporcionada por Power BI o la columna de fecha principal."),
VAR __PREV_MONTH - CALCULATE(AVERAGE('Merge1'[Rate]),
DATEADD('Merge1'[Fecha].[ Fecha],
DATEDIFF(MIN('Merge1'[Fecha].[ Fecha]), MAX('Merge1'[Fecha].[ Fecha]), MES), MES))
RETURN DIVIDE(AVERAGE('Merge1'[Rate]) - __PREV_MONTH, __PREV_MONTH)
)
el resultado es -21,94% .
amitchandak
Super User
Super User

@seferreirama , Datos de muestra y la salida esperada ayudarían

Puede mes /último mes diff como el ejemplo con ayuda de la tabla de fechas

MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
last month Sales = CALCULATE(SUM(Sales[Sales Amount]),previousmonth('Date'[Date]))
this month =MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH('Date'[Date])))
last MTD (complete) Sales =  CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
previous month value =  CALCULATE(sum(''Table''[total hours value]),previousmonth('Date'[Date]))

diff = [MTD Sales]-[last MTD Sales]
diff % = divide([MTD Sales]-[last MTD Sales],[last MTD Sales])

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únete a ella con la columna de fecha de tus hechos. Consulte :radacad sqlbi My Video Series Aprecia tus Felicitaciones.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors