Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 电源BI-仅显示属于所需选择(和逻辑)的数据_Powerbi_Dax_Powerbi Desktop - Fatal编程技术网

Powerbi 电源BI-仅显示属于所需选择(和逻辑)的数据

Powerbi 电源BI-仅显示属于所需选择(和逻辑)的数据,powerbi,dax,powerbi-desktop,Powerbi,Dax,Powerbi Desktop,我有一张这样的桌子 Role Skills Resource Data Analyst R A Data Analyst Python A Data Analyst SQL B Business Analyst SQL A 我的技能在过滤器上。我在仪表板上有多种视觉效果 如果我选择SQL和Python,那么数据分析师和业务分析师的结果都会显示在可视化界面中 但

我有一张这样的桌子

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个与角色度量相关的角色计数。


请帮助我创建这个度量。

也许有人会建议一个更优雅的方法来实现它;我提出了以下想法

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

如果将度量值放置在针对角色的可视视图中,将产生以下结果:

此代码的工作方式:

  • 首先,我们将所有选定技能存储在变量“selected_skills”中
  • 其次,我们将角色的所有可用技能存储在变量“role\u skills”中。我们必须使用所有(数据[技能])来忽略技能切片器选择
  • 第三,因为上面两个变量都是表,所以我们可以使用EXCEPT函数来找出它们的不同之处。在这里,我们告诉DAX查找角色技能中所选技能中不存在的记录。将结果存储在变量“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中有一个可视卡,它提供了资源的计数,但因为它不是针对角色的,所以不支持可视级别过滤器。你能建议一个解决办法吗。再次感谢。卡片视觉本质上与“总数”相似,因此我的最后一个注释与此相关-您希望在卡片上看到什么?资源数量的计数,因此层次结构是角色、资源和技能。让我在这里添加一些示例数据,并在一分钟内输出。现在用这些数据更新了问题。@RADO相当流畅!
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