【问题标题】:Power BI - Show only data that belongs to the required selection (And Logic)Power BI - 仅显示属于所需选择的数据(和逻辑)
【发布时间】:2023-03-15 21:15:01
【问题描述】:

我有一张这样的桌子

Role            Skills       Resource
Data Analyst     R             A
Data Analyst     Python        A
Data Analyst     SQL           B
Business Analyst SQL           A

我的技能正在筛选中。我在仪表板上有多个视觉效果。

如果我选择 SQL 和 Python,那么数据分析师和业务分析师的结果都会显示在视觉对象中。

但是,我希望它只显示数据分析师的结果,因为只有数据分析师拥有所有选定的技能。

为了实现这一点,我想创建一个度量并将其放在每个视觉对象中的视觉级别过滤器上可能会有所帮助。

更新:- 如果我在这里选择 SQL,我的卡片视觉上会得到 2 个与资源相关的不同资源,但是如果我选择 SQL 和 Python - 我的卡片视觉上会得到 0 个与资源相关的资源资源和 1 个与角色度量中的角色相关的角色计数。

请帮助我创建该度量。

【问题讨论】:

  • 如果技能过滤器没有选择(实际上,它选择了所有技能)会发生什么?如果我理解您的逻辑,那么所有视觉效果都必须是空白的,因为没有任何角色具有所有技能。如果是这样,那么您的报告将始终为空白,除非用户选择了特定技能并且所选技能集至少有一个满足它的角色。这是正确的吗?
  • 是的,你是对的。

标签: powerbi dax powerbi-desktop


【解决方案1】:

也许有人会建议一种更优雅的方式来做到这一点;我想出了以下想法。

创建一个度量(我将您的表称为“数据”):

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 )

如果将度量放置在针对角色的视觉对象中,它将产生以下结果:

这段代码的工作方式:

  • 首先,我们将所有选定的技能存储在一个变量“Selected_Skills”中;
  • 其次,我们将角色可用的所有技能存储在变量“Role_Skills”中。我们必须使用 ALL(Data[Skill]) 来忽略技能切片器的选择;
  • 第三,由于上面的两个变量都是表格,我们可以使用EXCEPT函数来找出它们的不同之处。在这里,我们告诉 DAX 查找 Selected_Skills 中的哪些记录在 Role_Skills 中不存在。将结果存储在变量“Missing_Skills”中。
  • 最后,如果 Missing_Skills 为零,则表示该角色具有所有选定的技能,我们将其标记为 1(尽管您可能使用 True/False 等)。

我看到这种方法的问题是,如果技能选择器没有选择(显示“所有技能”),那么公式可能会为所有角色返回空白,并且您的所有视觉效果都将为空白。从技术上讲,它是正确的——它本质上是说没有一个角色拥有所有技能。但如果这不是您想要的行为,请考虑稍微修改一下方法:

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

公式使用相同的逻辑,只返回每个角色缺少的技能数量,而不是真/假状态。它将允许您显示技能列表,按缺失技能数量与所选技能组合排序:

您仍然可以使用它来过滤您的视觉效果;优点是它永远不会为空,即使选择了所有技能:

它还使您能够查看最接近满足要求的角色,即使没有一个角色完全符合要求;可能是一个理想的功能。

最后说明:在所有这些报告中,我没有小计和总计,假设它们不重要。如果您确实需要它们,则可能需要修改公式以满足您对总数的要求(取决于您要在此处显示的内容)。

【讨论】:

  • 谢谢。但唯一的问题是我在 power bi 中有一个卡片视觉,它给了我资源的数量,但因为它不是针对角色的,所以不支持视觉级别过滤器。你能建议解决这个问题吗?再次感谢。
  • 卡片视觉本质上类似于“total”,所以我的最后一点是相关的——你想在卡片上看到什么?
  • 资源数量的计数,因此层次结构为角色、资源和技能。让我在这里添加一些示例数据,并在一分钟后输出。
  • 现在用数据更新了问题。
  • @RADO 漂亮!
猜你喜欢
  • 2021-11-30
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
相关资源
最近更新 更多