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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Necesidad de crear la lógica de las columnas TOP N teniendo en cuenta varias columnas.

Hola Equipos,
¿Podría usted proporcionar por favor la solución para el siguiente problema:



datos Resultado necesario
oportunidad categtegoryArrinicio de la semana TOPN- confirmarTOPN- al alza
acometer 10005/7/2021 2
bcometer 244345/7/2021 1
hlado positivo10005/7/2021 2
clado positivo34245/7/2021 1
dcometer 06/7/2021 2
elado positivo2443246/7/2021 1
fcometer 2316/7/2021 1
glado positivo43557/7/2021 1
hcometer 2143247/7/2021 1
jcometer 3427/7/2021 2
klado positivo35257/7/2021 2


Necesita ayuda para multar las 10 mejores oportunidades para "comprometerse" y top5 para "upside" según ARR para cada inicio de semana.



=> creado la lógica mencionada a continuación, pero no se considera el inicio de la semana y dará TON para datos completos.
También está ignorando ARR=0 mientras rastrilla las oportunidades, no capaz de undertsand la razón.


Upside_top_weekly_5 =
VAR RANKING2 = IF((Opportunity[Category]= "Upside" && Opportunity[ARR] <> BLANK()), RANKX(FILTER(Opportunity, Opportunity[Category]= "Upside" && Opportunity[ARR] <> BLANK())), Opportunity[ARR] , ,DESC, Dense), BLANK())
devolución
IF(RANKING2<6, RANKING2, BLANK())


1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @chirag_pandey77,

Por favor, intente utilizar la siguiente medida:

Upside_top_weekly_5 =
VAR RANKING2 =
    IF (
        Opportunity[Category] = "Upside"
            && Opportunity[ARR] <> BLANK (),
        RANKX (
            ALL ( Opportunity[Opportunity] ),
            CALCULATE (
                SUM ( Opportunity[ARR] ),
                FILTER (
                    Opportunity,
                    Opportunity[Category] = "Upside"
                        && Opportunity[ARR] <> BLANK ()
                )
            ),
            ,
            DESC,
            DENSE
        ),
        BLANK ()
    )
RETURN
    IF ( RANKING2 < 6, RANKING2, BLANK () )

Si esta publicación ayuda, entonces por favor considere 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

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Creo que esto será más sencillo si lo divides en un par de medidas.

Creé un [Upside ARR] para devolver solo el valor de ARR para category = upside

Upside ARR = calculate(SUM(Opportunity[ARR]), KEEPFILTERS(Opportunity[Category]="Upside"))
Potencialmente podrías incluir esto en tu medida de clasificación, pero hace que sea fácil probar las piezas de tu calc cuando está separado.
Luego ajusté su medida de clasificación de la siguiente manera:
Upside_top_weekly_5 =
var currentWeek = SELECTEDVALUE(Oportunidad[inicio de semana])
VAR RANKING2 = RANKX(FILTER(ALL(Opportunity), Opportunity[Category]= "Upside" && Opportunity[ARR] <> BLANK() && Opportunity[week start] = currentWeek), Opportunity[ARR] , [Upside ARR] ,DESC, Dense)
devolución
IF(RANKING2<6 &&&NOT(ISBLANK([UPSIDE ARR])), RANKING2, BLANK())
Syndicate_Admin
Administrator
Administrator

No @chirag_pandey77,

Por favor, intente utilizar la siguiente medida:

Upside_top_weekly_5 =
VAR RANKING2 =
    IF (
        Opportunity[Category] = "Upside"
            && Opportunity[ARR] <> BLANK (),
        RANKX (
            ALL ( Opportunity[Opportunity] ),
            CALCULATE (
                SUM ( Opportunity[ARR] ),
                FILTER (
                    Opportunity,
                    Opportunity[Category] = "Upside"
                        && Opportunity[ARR] <> BLANK ()
                )
            ),
            ,
            DESC,
            DENSE
        ),
        BLANK ()
    )
RETURN
    IF ( RANKING2 < 6, RANKING2, BLANK () )

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

Saludos

Dedmon Dai

Syndicate_Admin
Administrator
Administrator

No @chirag_pandey77,

Por favor, intente utilizar la siguiente medida:

Upside_top_weekly_5 =
VAR RANKING2 =
    IF (
        Opportunity[Category] = "Upside"
            && Opportunity[ARR] <> BLANK (),
        RANKX (
            ALL ( Opportunity[Opportunity] ),
            CALCULATE (
                SUM ( Opportunity[ARR] ),
                FILTER (
                    Opportunity,
                    Opportunity[Category] = "Upside"
                        && Opportunity[ARR] <> BLANK ()
                )
            ),
            ,
            DESC,
            DENSE
        ),
        BLANK ()
    )
RETURN
    IF ( RANKING2 < 6, RANKING2, BLANK () )

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

Saludos

Dedmon Dai

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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