我有这样一张桌子的要求,
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可视化表中为业务分析师解释第一个结果,
所以现在,他有四项技能。
因此,对于业务分析师-- Visual Table %技能中的第1行技能--只有SQL来自数据分析人员技能与业务分析人员技能的匹配,因此它的50%在上升技能之前。
但是,在与excel一起提升技能之后,它就成为了业务分析师100%的技能。
他有4项技能,但其中2项(R和Python),他不会在业务分析师中使用,Role.That显示在表的最后一栏。
我的想法是,我试图显示--所选角色的技能集与另一个角色匹配的百分比。
所选角色的技能集在提升技能后与另一个角色匹配的百分比是多少。
很高兴在此基础上创建新表,并根据需要重新调整数据的形状。
发布于 2019-05-06 14:27:03
这里的关键是为您的切割机提供不同的无关表。
让我们调用您的原始表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], ", " )结果应该是这样的:

您可以添加一些逻辑来隐藏您在矩阵可视化中选择的角色,但是我在这里保持简单。
发布于 2019-05-06 12:11:43
嗯,我认为这里的关键是一个好的模型。
我的想法是,我试图显示--所选角色的技能集与另一个角色匹配的百分比。
对于第一个问题,您需要定义关系来评估匹配,并在此基础上计算百分比。我要做以下几点:
创建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的Business Analyst,并获得了以下结果:
Name Skill JobID
Max Mustermann Excel 1
Max Mustermann SSRS 1现在,您需要匹配麻省理工学院以上的结果,即MaxSkillTable,其中JobID是相同的。您将得到两个匹配(Excel和SSRS)。这将是你的第一个结果。在此之后,您可以选择此作业的最大技能计数(Excel、SSRS、Power-BI = 3)。这将是第二个结果。当您有这两个结果时,您可以计算百分比。
对Max Mustermann来说,它将是2 / 3所以大约66%。
关于你的第二个问题
所选角色的技能集在提升技能后与另一个角色匹配的百分比是多少。
你可以增加Max Mustermanns技能的数量。他的查询结果是两种技能。所以2 + 1 = 3。现在,在此基础上再次计算百分比。3 / 3 = 1 = 100% (在这里,您需要注意不要将计数增加到最大值)。
https://stackoverflow.com/questions/55935908
复制相似问题