I have a requirement where I have a table like this,
Role Skills
Developer C
Developer SQL
Developer C++
Data Anal
Hmm I think the key here is a good model.
The Idea is I am trying to show - How much percentage the skillsets of the selected role is matching with another role.
For the first question you need to define the relationships to evaluate the matches and calculate, based on that, a percentage. I would do the following:
Creating the MaxSkillTable:
JobID JobName Skill
1 Business Analyst Power-Bi
1 Business Analyst SSRS
1 Business Analyst Excel
2 Other jobs Other skills for other jobs
...and so on
Lets say now you select Max Mustermann for Business Analyst on your Person table and get the following result:
Name Skill JobID
Max Mustermann Excel 1
Max Mustermann SSRS 1
Now you need to match the result above mit the MaxSkillTable where the JobID is the same. You will get two matches (Excel and SSRS). This would be your first result. After that you can select the maximal skills count for this job (Excel, SSRS, Power-BI = 3). This would be the second result. When you have this both results you can calculate the percentage.
For Max Mustermann it would be 2 / 3 so ca. 66%.
For your second question,
How much percentage the skillsets of selected role is matching with another role after upskilling.
you can simualte an increasement of the count of Max Mustermanns skills. The result for his query were two skills . So 2 + 1 = 3. Now calculate the percentage based on this increasment again. 3 / 3 = 1 = 100% (here you need to take care to not increase the count over the maximum).