March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Dear Friends,
The first table below is the master data and the second is the transaction data. First table contains salary slab, performance rating as exceptional, effective, compenent and ineffective. Eg. , Salary below 20700, if exceptional, will get 15% of basic, if effective 10% of basic and if competent 5% of basic as increment. The second table contains the person-wise details and has to be match this first table to the second table individually with their ratings, percentage to the basic. Could someone help me to do this through power query please?
Salary slabExceptionalEffectiveCompetentIn-effective
20700 | 0.15 | 0.1 | 0.05 | 0 |
20701 | 0.14 | 0.09 | 0.04 | 0 |
29001 | 0.13 | 0.08 | 0.04 | 0 |
46801 | 0.12 | 0.07 | 0.03 | 0 |
65601 | 0.1 | 0.06 | 0.03 | 0 |
84401 | 0.06 | 0.04 | 0.02 | 0 |
EMP_IDNamePerformance RatingBASIC
182 | ES | Effective | 100150 |
162 | MPP | Effective | 96480 |
21017 | JR | Effective | 88620 |
130 | CR | Effective | 78310 |
16626 | SU | Competent | 65780 |
134 | JD | Effective | 58060 |
85 | ES | Effective | 48080 |
129 | RP | Effective | 39880 |
206 | HSG | Competent | 30460 |
16567 | AAR | Competent | 25790 |
210 | BBG | Competent | 18770 |
16904 | RSR | Effective | 16000 |
Thanks in advance and regards.
Solved! Go to Solution.
Hi @Thangavel_Raju ,
Based on your example, I think your interval starts and ends like this, right?
If so, here's the workaround.
1.Unpivot the columns.
2.Merge Table2 with Table1.
3.Expand it.
4.Add a custom column, return 1 if the filter condition is met, otherwise 0.
5.Filter out 0 and you can get the percentage matching based on the performance type and value range.
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
let
Master = Table.Buffer(Excel.CurrentWorkbook(){[Name="Master"]}[Content]),
Salary = Excel.CurrentWorkbook(){[Name="Salary"]}[Content],
Custom1 = Table.AddColumn(Salary,"Increment",each Record.FieldOrDefault(Table.Last(Table.RemoveLastN(Master,(x)=>x[Salary slab]>[BASIC])),[Performance Rating],0)*[BASIC])
in
Custom1
Hi Daniel,
Thank you so much. I shall try the solution and would come back to you.
Regards
Hi @Thangavel_Raju ,
For the first table with master data, you could unpivot these columns to get the performances as a column.
Then you could merge it with the second table.
Hope it helps you.
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Stephen,
Thank you.
There is one more criteria, viz. basic. If the basic is less than 20700 and the rating is effective then the percentage of increment should be 10%; if the basic is between 29000 and 46800 and the rating is effective the increment should be 8% and so on. That is the reason I said it is multiple conditions. I hope I have made my point clear. If you could help me it would be great. I do not want this to be hardcoded since the criteria may change over time.
Thanks and Regards.
Hi @Thangavel_Raju ,
Based on your example, I think your interval starts and ends like this, right?
If so, here's the workaround.
1.Unpivot the columns.
2.Merge Table2 with Table1.
3.Expand it.
4.Add a custom column, return 1 if the filter condition is met, otherwise 0.
5.Filter out 0 and you can get the percentage matching based on the performance type and value range.
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thank you so much Stephen. I am sure this will work for me. I shall try and confirm to you. Thanks and Regards.
Hi Stephen,
Thanks a lot. I shall try and come back to you.
Regards.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
21 | |
16 | |
13 | |
12 | |
9 |
User | Count |
---|---|
36 | |
31 | |
20 | |
19 | |
17 |