Forum Discussion

rajasekar_o's avatar
rajasekar_o
Icon for Helper V rankHelper V
2 years ago
Solved

top 2 sales Based on Top 2 Target

hi team,
i have the  Employee masterdata ,target data ,sales data,
I  Want to  calculate
1.ASO top 2 sales based on  top2  target value  the top 2 target is take only if t20 is 'Y'
2.ASM top 2 sales based on  top2  target value  the top 2 target is take only if t20 is 'Y'
3.BM top 2 sales based on  top2  target value  the top 2 target is take only if t20 is 'Y'
employee master 

DEALERCODEASO CODEASM CODEBM CODEt20
DEALE-01ASO-01ASM-01BM-01Y
DEALE-02ASO-01ASM-01BM-01Y
DEALE-03ASO-01ASM-01BM-01 
DEALE-04ASO-01ASM-01BM-01Y
DEALE-05ASO-01ASM-01BM-01 
DEALE-06ASO-02ASM-01BM-01 
DEALE-07ASO-02ASM-01BM-01Y
DEALE-08ASO-02ASM-01BM-01Y
DEALE-09ASO-02ASM-01BM-01Y
DEALE-10ASO-02ASM-01BM-01 
DEALE-11ASO-03ASM-02BM-01Y
DEALE-12ASO-03ASM-02BM-01Y
DEALE-13ASO-03ASM-02BM-01Y
DEALE-14ASO-03ASM-02BM-01 
DEALE-15ASO-03ASM-02BM-01 
DEALE-16ASO-04ASM-02BM-01 
DEALE-17ASO-04ASM-02BM-01 
DEALE-18ASO-04ASM-02BM-01Y
DEALE-19ASO-04ASM-02BM-01Y
DEALE-20ASO-04ASM-02BM-01Y

 

target data

DEALERCODETARGET
DEALE-0139000
DEALE-023500
DEALE-034500
DEALE-047600
DEALE-053500
DEALE-0612100
DEALE-0711100
DEALE-0815600
DEALE-0923200
DEALE-1026700
DEALE-1138800
DEALE-1249900
DEALE-1312100
DEALE-1412560
DEALE-1516400
DEALE-1618320
DEALE-1721450
DEALE-1831200
DEALE-1945000
DEALE-206500

 

sales data

DEALERCODEsales
DEALE-016473
DEALE-027483
DEALE-038945
DEALE-045438
DEALE-057589
DEALE-0674653
DEALE-0774653
DEALE-0889867
DEALE-091234
DEALE-104535
DEALE-117567
DEALE-123424
DEALE-1324546
DEALE-146575
DEALE-15786
DEALE-168687
DEALE-17979
DEALE-188989
DEALE-197574
DEALE-2064567

 

THE FINAL OUT PUT 
ASO TOP 2 SALES =130566
ASM TOP 2 SALES=18705
BM TOP 2 SALES =12413

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi rajasekar_o ,

    Depending on the information you have provided, you can follow these steps below:

    1.Add an index column.

    2.Add new measures.

    RANK_Y =
    VAR _Y =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[t20] = "Y" ),
            CALCULATE ( MAX ( 'target data'[TARGET] ) ),
            ,
            ASC
        )
    RETURN
        IF ( SELECTEDVALUE ( 'employee master'[t20] ) = BLANK (), BLANK (), _Y )
    

    ASM:

    ASM-T2 RANK = 
    VAR _ASM =
        SELECTEDVALUE ( 'employee master'[ASM CODE] )
    VAR _RESULT =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASM CODE] = _ASM ),
            [RANK_Y],
            ,
            DESC
        )
    RETURN
        IF ( _RESULT < 3, _RESULT, BLANK () )
    
    ASM_ = 
    VAR _ASM =
        SELECTEDVALUE ( 'employee master'[ASM CODE] )
    VAR _RANK =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASM CODE] = _ASM ),
            CALCULATE ( MAX ( 'employee master'[Index] ) ),
            ,
            DESC
        )
    VAR _SUM =
        CALCULATE (
            SUM ( 'sales data'[sales] ),
            FILTER (
                ALL ( 'employee master' ),
                'employee master'[ASM CODE] = _ASM
                    && [ASM-T2 RANK] <> BLANK ()
            )
        )
    VAR _OUTPUT =
        IF ( _RANK = 1, _SUM, BLANK () )
    RETURN
        _OUTPUT
    
    ASM T2 = CALCULATE(SUMX('employee master',[ASM_]))

     

    ASO:

    ASO-T2 RANK = 
    VAR _ASO =
        SELECTEDVALUE ( 'employee master'[ASO CODE] )
    VAR _RESULT =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASO CODE] = _ASO ),
            [RANK_Y],
            ,
            DESC
        )
    RETURN
        IF ( _RESULT < 3, _RESULT, BLANK () )
    
    ASO_ = 
    VAR _ASO =
        SELECTEDVALUE ( 'employee master'[ASO CODE] )
    VAR _RANK =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASO CODE] = _ASO ),
            CALCULATE ( MAX ( 'employee master'[Index] ) ),
            ,
            DESC
        )
    VAR _SUM =
        CALCULATE (
            SUM ( 'sales data'[sales] ),
            FILTER (
                ALL ( 'employee master' ),
                'employee master'[ASO CODE] = _ASO
                    && [ASO-T2 RANK] <> BLANK ()
            )
        )
    VAR _OUTPUT =
        IF ( _RANK = 1, _SUM, BLANK () )
    RETURN
        _OUTPUT
    
    ASO T2 = CALCULATE(SUMX('employee master',[ASO_]))

     

    BM:

    BM-T2 RANK = 
    VAR _BM =
        SELECTEDVALUE ( 'employee master'[BM CODE] )
    VAR _RESULT =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[BM CODE] = _BM ),
            [RANK_Y],
            ,
            DESC
        )
    RETURN
        IF ( _RESULT < 3, _RESULT, BLANK () )
    
    BM_ = 
    VAR _BM =
        SELECTEDVALUE ( 'employee master'[BM CODE] )
    VAR _RANK =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[BM CODE] = _BM ),
            CALCULATE ( MAX ( 'employee master'[Index] ) ),
            ,
            DESC
        )
    VAR _SUM =
        CALCULATE (
            SUM ( 'sales data'[sales] ),
            FILTER (
                ALL ( 'employee master' ),
                'employee master'[BM CODE] = _BM
                    && [BM-T2 RANK] <> BLANK ()
            )
        )
    VAR _OUTPUT =
        IF ( _RANK = 1, _SUM, BLANK () )
    RETURN
        _OUTPUT
    
    BM T2 = CALCULATE(SUMX('employee master',[BM_]))

     

    Final output:

    How to Get Your Question Answered Quickly - Microsoft Fabric Community

    If it does not help, please provide more details with your desired out put and pbix file without privacy information.

     

    Best Regards,

    Ada Wang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi rajasekar_o ,

    Depending on the information you have provided, you can follow these steps below:

    1.Add an index column.

    2.Add new measures.

    RANK_Y =
    VAR _Y =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[t20] = "Y" ),
            CALCULATE ( MAX ( 'target data'[TARGET] ) ),
            ,
            ASC
        )
    RETURN
        IF ( SELECTEDVALUE ( 'employee master'[t20] ) = BLANK (), BLANK (), _Y )
    

    ASM:

    ASM-T2 RANK = 
    VAR _ASM =
        SELECTEDVALUE ( 'employee master'[ASM CODE] )
    VAR _RESULT =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASM CODE] = _ASM ),
            [RANK_Y],
            ,
            DESC
        )
    RETURN
        IF ( _RESULT < 3, _RESULT, BLANK () )
    
    ASM_ = 
    VAR _ASM =
        SELECTEDVALUE ( 'employee master'[ASM CODE] )
    VAR _RANK =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASM CODE] = _ASM ),
            CALCULATE ( MAX ( 'employee master'[Index] ) ),
            ,
            DESC
        )
    VAR _SUM =
        CALCULATE (
            SUM ( 'sales data'[sales] ),
            FILTER (
                ALL ( 'employee master' ),
                'employee master'[ASM CODE] = _ASM
                    && [ASM-T2 RANK] <> BLANK ()
            )
        )
    VAR _OUTPUT =
        IF ( _RANK = 1, _SUM, BLANK () )
    RETURN
        _OUTPUT
    
    ASM T2 = CALCULATE(SUMX('employee master',[ASM_]))

     

    ASO:

    ASO-T2 RANK = 
    VAR _ASO =
        SELECTEDVALUE ( 'employee master'[ASO CODE] )
    VAR _RESULT =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASO CODE] = _ASO ),
            [RANK_Y],
            ,
            DESC
        )
    RETURN
        IF ( _RESULT < 3, _RESULT, BLANK () )
    
    ASO_ = 
    VAR _ASO =
        SELECTEDVALUE ( 'employee master'[ASO CODE] )
    VAR _RANK =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[ASO CODE] = _ASO ),
            CALCULATE ( MAX ( 'employee master'[Index] ) ),
            ,
            DESC
        )
    VAR _SUM =
        CALCULATE (
            SUM ( 'sales data'[sales] ),
            FILTER (
                ALL ( 'employee master' ),
                'employee master'[ASO CODE] = _ASO
                    && [ASO-T2 RANK] <> BLANK ()
            )
        )
    VAR _OUTPUT =
        IF ( _RANK = 1, _SUM, BLANK () )
    RETURN
        _OUTPUT
    
    ASO T2 = CALCULATE(SUMX('employee master',[ASO_]))

     

    BM:

    BM-T2 RANK = 
    VAR _BM =
        SELECTEDVALUE ( 'employee master'[BM CODE] )
    VAR _RESULT =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[BM CODE] = _BM ),
            [RANK_Y],
            ,
            DESC
        )
    RETURN
        IF ( _RESULT < 3, _RESULT, BLANK () )
    
    BM_ = 
    VAR _BM =
        SELECTEDVALUE ( 'employee master'[BM CODE] )
    VAR _RANK =
        RANKX (
            FILTER ( ALL ( 'employee master' ), 'employee master'[BM CODE] = _BM ),
            CALCULATE ( MAX ( 'employee master'[Index] ) ),
            ,
            DESC
        )
    VAR _SUM =
        CALCULATE (
            SUM ( 'sales data'[sales] ),
            FILTER (
                ALL ( 'employee master' ),
                'employee master'[BM CODE] = _BM
                    && [BM-T2 RANK] <> BLANK ()
            )
        )
    VAR _OUTPUT =
        IF ( _RANK = 1, _SUM, BLANK () )
    RETURN
        _OUTPUT
    
    BM T2 = CALCULATE(SUMX('employee master',[BM_]))

     

    Final output:

    How to Get Your Question Answered Quickly - Microsoft Fabric Community

    If it does not help, please provide more details with your desired out put and pbix file without privacy information.

     

    Best Regards,

    Ada Wang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.