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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.