[英]Power BI - Find the % matching (Bounty 100) What-if analysis before and after
我有一個要求,我有一個像這樣的表,
Role Skills
Developer C
Developer SQL
Developer C++
Data Analyst R
Data Analyst Python
Data Analyst SQL
Business Analyst Excel
Business Analyst SQL
我需要在Power BI中創建這樣的東西,
在Power BI Visual Table中解釋業務分析師的第一個結果,
所以現在,他有4個技能。
因此,對於業務分析師 - Visual Table中的第1行沒有提升技能的技能 - 只有來自Data Analyst技能的SQL才能與Business Analyst技能相匹配,因此在提升技能之前為50%。
但是在使用excel技能后,它將成為100%的業務分析師技能。
他在提升技能后擁有4項技能,但其中2項(R和Python),他將不會在Business Analyst Role中使用。這將在表格的最后一欄中顯示。
想法是我想要展示的 - 所選角色的技能組與另一個角色匹配的百分比。
提升后,所選角色的技能組與另一個角色匹配的百分比。
很高興基於此創建新表並重新塑造所需的數據。
這里的關鍵是為切片器提供截然不同的表。
我們打電話給你原來的Jobs
表Jobs
。
創建兩個新表:
Role = DISTINCT(Jobs[Role])
Skills = DISTINCT(Jobs[Skills])
現在我們有了這些表,我們可以用它們創建切片器並將選定的值讀入我們的度量。
% Skill Match =
VAR SelectedRole = SELECTEDVALUE ( Role[Role] )
VAR RelatedSkills = CALCULATETABLE ( DISTINCT ( Jobs[Skills] ), Jobs[Role] = SelectedRole )
VAR CurrentSkills = DISTINCT ( Jobs[Skills] )
RETURN
DIVIDE (
COUNTROWS ( INTERSECT ( RelatedSkills, CurrentSkills ) ),
COUNTROWS ( CurrentSkills )
)
這將在第一個變量中讀取您選擇的角色。 當我們提升時,我們也會讀到另一個切片器:
% Skill Match Upskilled =
VAR SelectedRole = SELECTEDVALUE ( Role[Role] )
VAR SelectedSkills = VALUES ( Skills[Skills] )
VAR RelatedSkills = CALCULATETABLE ( DISTINCT ( Jobs[Skills] ), Jobs[Role] = SelectedRole )
VAR CurrentSkills = DISTINCT ( Jobs[Skills] )
VAR Upskilled = DISTINCT ( UNION ( RelatedSkills, SelectedSkills ) )
RETURN
DIVIDE (
COUNTROWS ( INTERSECT ( Upskilled, CurrentSkills ) ),
COUNTROWS ( CurrentSkills )
)
未使用的技能測量非常相似。
Unused Skills =
VAR SelectedRole = SELECTEDVALUE ( Role[Role] )
VAR SelectedSkills = VALUES ( Skills[Skills] )
VAR RelatedSkills = CALCULATETABLE ( DISTINCT ( Jobs[Skills] ), Jobs[Role] = SelectedRole )
VAR CurrentSkills = DISTINCT ( Jobs[Skills] )
VAR Upskilled = DISTINCT ( UNION ( RelatedSkills, SelectedSkills ) )
RETURN
CONCATENATEX ( EXCEPT ( Upskilled, CurrentSkills ), Jobs[Skills], ", " )
結果應如下所示:
您可以添加一些邏輯來隱藏您在矩陣視覺中選擇的角色,但我在這里保持簡單。
嗯,我認為這里的關鍵是一個好模型。
想法是我想要展示的 - 所選角色的技能組與另一個角色匹配的百分比。
對於第一個問題,您需要定義關系以評估匹配並基於此計算百分比。 我會做以下事情:
創建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
讓我們說你現在在Person表上選擇Max Mustermann
for Business Analyst
並獲得以下結果:
Name Skill JobID
Max Mustermann Excel 1
Max Mustermann SSRS 1
現在,您需要匹配上面的結果,以及JobID相同的MaxSkillTable
。 您將獲得兩場比賽(Excel和SSRS)。 這將是你的第一個結果。 之后,您可以選擇此作業的最大技能計數(Excel,SSRS,Power-BI = 3)。 這將是第二個結果。 如果您有這兩個結果,您可以計算百分比。
對於Max Mustermann
來說,這將是2 / 3
。 66%
。
對於你的第二個問題,
提升后,所選角色的技能組與另一個角色匹配的百分比。
你可以簡單地增加Max Mustermanns
技能的數量。 他的查詢結果是兩種技能。 所以2 + 1 = 3
。 現在再次根據此增量計算百分比。 3 / 3 = 1 = 100%
(這里你需要注意不要增加最大值)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.