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
Syndicate_Admin
Administrator
Administrator

Obtener el mayor % MoM por encima de un número establecido

Hola

Estoy tratando de recuperar cuál es el mayor cambio de MoM en un conjunto de productos. Aquí está el enlace para el archivo.

La siguiente imagen ilustra lo que pretendo hacer.

Pedro503_1-1673486432262.png

Básicamente, el producto que más creció en febrero en comparación con enero fue Alpha (delineado en rojo), pero el que me gustaría obtener es Gamma (el que se describe en amarillo), ya que tuvo más ventas que el número establecido en el parámetro (en enero, Gamma tuvo 150 ventas, que es mayor o igual a 75, y aunque Alpha tuvo un aumento del 800% en febrero sobre enero, en enero solo vendió 1, que a su vez es menor que el valor establecido en el parámetro, 75).

Lo que en última instancia me gustaría tener es lo siguiente:

Pedro503_2-1673486923964.png

¿Alguna idea sobre cómo podría aplicarse esa medida?

Gracias de antemano.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

El siguiente fragmento de código resolvió mi problema:

Largest var % = 
VAR _MaxTotal =
MAXX(
    SUMMARIZE(
        FILTER(
            ADDCOLUMNS(
                VALUES( d_products[Product] ),
                "@ThisMonthTotal", [Total],
                "@LastMonthTotal", CALCULATE( [Total], DATEADD( d_calendar[Date], -1, MONTH ) )
                    ),
            [@LastMonthTotal] >= Prmtr[Prmtr Value]
                ),
        d_products[Product]
            ),
    [MoM %]
    )
VAR _MaxWithTotal =
FILTER(
    SUMMARIZE(
        FILTER(
            ADDCOLUMNS(
                VALUES( d_products[Product] ),
                "@ThisMonthTotal", [Total],
                "@LastMonthTotal", CALCULATE( [Total], DATEADD( d_calendar[Date], -1, MONTH ) )
                    ),
            [@LastMonthTotal] >= Prmtr[Prmtr Value]
            ),
        d_products[Product]
        ),
    [MoM %] = _MaxTotal
)
VAR _Result = CONCATENATEX( _MaxWithTotal , d_products[Product] , ", " )
VAR _Condition = IF ( NOT ISBLANK( _MaxTotal ), _Result , BLANK() )
RETURN _Condition

Pedro503_0-1674191965559.png

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

El siguiente fragmento de código resolvió mi problema:

Largest var % = 
VAR _MaxTotal =
MAXX(
    SUMMARIZE(
        FILTER(
            ADDCOLUMNS(
                VALUES( d_products[Product] ),
                "@ThisMonthTotal", [Total],
                "@LastMonthTotal", CALCULATE( [Total], DATEADD( d_calendar[Date], -1, MONTH ) )
                    ),
            [@LastMonthTotal] >= Prmtr[Prmtr Value]
                ),
        d_products[Product]
            ),
    [MoM %]
    )
VAR _MaxWithTotal =
FILTER(
    SUMMARIZE(
        FILTER(
            ADDCOLUMNS(
                VALUES( d_products[Product] ),
                "@ThisMonthTotal", [Total],
                "@LastMonthTotal", CALCULATE( [Total], DATEADD( d_calendar[Date], -1, MONTH ) )
                    ),
            [@LastMonthTotal] >= Prmtr[Prmtr Value]
            ),
        d_products[Product]
        ),
    [MoM %] = _MaxTotal
)
VAR _Result = CONCATENATEX( _MaxWithTotal , d_products[Product] , ", " )
VAR _Condition = IF ( NOT ISBLANK( _MaxTotal ), _Result , BLANK() )
RETURN _Condition

Pedro503_0-1674191965559.png

Syndicate_Admin
Administrator
Administrator

@Pedro503 , Primero crear MOM usando Time Intelligence y estas medidas

Ventas MTD = CALCULAR(SUMA(Ventas[Importe de ventas]),DATESMTD('Fecha'[Fecha]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
último mes Ventas = CALCULAR(SUMA(Ventas[Importe de ventas]),mes anterior('Fecha'[Fecha]))
Ventas MTD = CALCULAR(SUMA(Ventas[Importe de ventas]),DATESMTD('Fecha'[Fecha]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
último mes Ventas = CALCULAR(SUMA(Ventas[Importe de ventas]),mes anterior('Fecha'[Fecha]))

diff = [Ventas MTD]-[últimas ventas de MTD]
diff % = divide([Ventas de MTD]-[últimas ventas de MTD],[últimas ventas de MTD])

A continuación, utilice la función index (dic-2022) para obtener el primer valor

Función de índice de Power BI: ejecutante superior/inferior por nombre y valor: https://youtu.be/HPhzzCwe10U

Gracias por su respuesta, @amitchandak

Traté de hacer lo que me sugeriste, pero no logré obtener el resultado que quería. El punto que falta, por lo que puedo ver, es el parámetro. ¿Sabe dónde se supone que debo insertar el SELECTEDVALUE() de mi parámetro para ignorar esos valores en el conjunto del parámetro "slicer"?

Una vez más, gracias por su respuesta.

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.