Forum Discussion
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
| DEALERCODE | ASO CODE | ASM CODE | BM CODE | t20 |
| DEALE-01 | ASO-01 | ASM-01 | BM-01 | Y |
| DEALE-02 | ASO-01 | ASM-01 | BM-01 | Y |
| DEALE-03 | ASO-01 | ASM-01 | BM-01 | |
| DEALE-04 | ASO-01 | ASM-01 | BM-01 | Y |
| DEALE-05 | ASO-01 | ASM-01 | BM-01 | |
| DEALE-06 | ASO-02 | ASM-01 | BM-01 | |
| DEALE-07 | ASO-02 | ASM-01 | BM-01 | Y |
| DEALE-08 | ASO-02 | ASM-01 | BM-01 | Y |
| DEALE-09 | ASO-02 | ASM-01 | BM-01 | Y |
| DEALE-10 | ASO-02 | ASM-01 | BM-01 | |
| DEALE-11 | ASO-03 | ASM-02 | BM-01 | Y |
| DEALE-12 | ASO-03 | ASM-02 | BM-01 | Y |
| DEALE-13 | ASO-03 | ASM-02 | BM-01 | Y |
| DEALE-14 | ASO-03 | ASM-02 | BM-01 | |
| DEALE-15 | ASO-03 | ASM-02 | BM-01 | |
| DEALE-16 | ASO-04 | ASM-02 | BM-01 | |
| DEALE-17 | ASO-04 | ASM-02 | BM-01 | |
| DEALE-18 | ASO-04 | ASM-02 | BM-01 | Y |
| DEALE-19 | ASO-04 | ASM-02 | BM-01 | Y |
| DEALE-20 | ASO-04 | ASM-02 | BM-01 | Y |
target data
| DEALERCODE | TARGET |
| DEALE-01 | 39000 |
| DEALE-02 | 3500 |
| DEALE-03 | 4500 |
| DEALE-04 | 7600 |
| DEALE-05 | 3500 |
| DEALE-06 | 12100 |
| DEALE-07 | 11100 |
| DEALE-08 | 15600 |
| DEALE-09 | 23200 |
| DEALE-10 | 26700 |
| DEALE-11 | 38800 |
| DEALE-12 | 49900 |
| DEALE-13 | 12100 |
| DEALE-14 | 12560 |
| DEALE-15 | 16400 |
| DEALE-16 | 18320 |
| DEALE-17 | 21450 |
| DEALE-18 | 31200 |
| DEALE-19 | 45000 |
| DEALE-20 | 6500 |
sales data
| DEALERCODE | sales |
| DEALE-01 | 6473 |
| DEALE-02 | 7483 |
| DEALE-03 | 8945 |
| DEALE-04 | 5438 |
| DEALE-05 | 7589 |
| DEALE-06 | 74653 |
| DEALE-07 | 74653 |
| DEALE-08 | 89867 |
| DEALE-09 | 1234 |
| DEALE-10 | 4535 |
| DEALE-11 | 7567 |
| DEALE-12 | 3424 |
| DEALE-13 | 24546 |
| DEALE-14 | 6575 |
| DEALE-15 | 786 |
| DEALE-16 | 8687 |
| DEALE-17 | 979 |
| DEALE-18 | 8989 |
| DEALE-19 | 7574 |
| DEALE-20 | 64567 |
THE FINAL OUT PUT
ASO TOP 2 SALES =130566
ASM TOP 2 SALES=18705
BM TOP 2 SALES =12413
- Anonymous2 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 _OUTPUTASM 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 _OUTPUTASO 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 _OUTPUTBM 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
- AnonymousNot 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 _OUTPUTASM 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 _OUTPUTASO 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 _OUTPUTBM 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.