我有一张这样的桌子
Role Skills Resource
Data Analyst R A
Data Analyst Python A
Data Analyst SQL B
Business Analyst SQL A
我的技能处于过滤状态。我在仪表板上有多个视觉效果。
如果我选择SQL和Python,那么数据分析器和业务分析器的结果都将显示在视觉中。
但是,我希望它仅显示Data Analyst结果,因为只有Data Analyst才具有所有选定的技能。
为实现这一目标,我认为创建一个度量并将其放在每个视觉对象的视觉级别过滤器中可能会有所帮助。
更新:-如果在此处选择SQL,则在我的卡片视觉上获得2个与资源相关的不同资源,但是如果选择SQL和Python,则在我的卡片视觉上获得0个与以下资源相关的资源:资源和1个与“角色”度量中的角色相关的角色计数。
请帮助我制定该措施。
答案 0 :(得分:3)
也许有人会建议一种更优雅的方法;我提出了以下想法。
创建一个度量(我将您的表称为“数据”):
Has All Selected Skills
=
VAR
Selected_Skills = ALLSELECTED ( Data[Skills] )
VAR
Role_Skills = CALCULATETABLE ( VALUES ( Data[Skills] ), ALL ( Data[Skills] ) )
VAR
Missing_Skills = COUNTROWS ( EXCEPT ( Selected_Skills, Role_Skills ) )
RETURN
IF ( NOT ( Missing_Skills ), 1 )
如果将度量放置在与角色相对的视图中,则会产生以下结果:
此代码的工作方式:
我看到的这种方法的问题是,如果“技能选择器”没有选择(显示“所有技能”),则该公式对于所有角色都可能返回空白,并且所有视觉效果都将为空白。从技术上讲,这是正确的-本质上讲,没有一个角色拥有所有技能。但是,如果这不是您想要的行为,请考虑稍微修改一下的方法:
Missing Skills Count
=
VAR
Selected_Skills = ALLSELECTED ( Data[Skills] )
VAR
Role_Skills = CALCULATETABLE ( VALUES ( Data[Skills] ), ALL ( Data[Skills] ) )
VAR
Missing_Skills = COUNTROWS ( EXCEPT ( Selected_Skills, Role_Skills ) )
RETURN
Missing_Skills + 0
该公式使用相同的逻辑,仅返回每个角色缺少的技能数,而不是正确/错误状态。它将允许您显示技能列表,并按缺少的技能数与所选技能组合的顺序进行排序:
您仍然可以使用它来过滤视觉效果;优点是即使选择了所有技能,它也绝不会空白:
它还使您能够查看最接近满足要求的角色,即使没有一个与之完美匹配;可能是一个理想的功能。
最后说明:在所有这些报告中,我没有小计和总计,假设它们并不重要。如果确实需要它们,则可能需要修改公式以符合总计要求(取决于要在此处显示的内容)。