Power BI:筛选假设条件参数

时间:2019-11-13 11:53:14

标签: powerbi powerbi-desktop powerbi-custom-visuals

我有一个包含多个公司数据的表,并且其中有 company_id 列。我想为报表的排名功能显示具有所选 company_id 最大值的滑块。

我创建了一个度量以计算所选公司的最大值的计数。

Max Value = CALCULATE(DISTINCTCOUNT(SOURCE_TABLE[Company_Name]),FILTER(SOURCE_TABLE,SOURCE_TABLE[Company_id]=SELECTEDVALUE(SOURCE_TABLE[Company_id])))

但是当我尝试将其用于假设功能中的假设参数低于错误时,

enter image description here

  

TopRank = GENERATESERIES(1,[最大值],1)

错误代码:

  

GenerateSeries函数中的参数不能为空。

当我使用DISTINCTCOUNT函数时,它可以正常工作,但是使用过滤器时,它有问题。

  

TopRank = GENERATESERIES(1,DISTINCTCOUNT(SOURCE_TABLE [Company_Name]),   1)

     

-运行正常

如何使用 FILTER 获取 DISTINCTCOUNT 的值。任何想法将不胜感激!!

1 个答案:

答案 0 :(得分:1)

您可能已经注意到,假设参数表是计算表。

仅当刷新数据源后,才会重新计算计算表。不会根据用户交互(例如在切片器中选择公司ID)进行重新计算。

在您的方案中,您需要使用可能的最大数量创建参数表。而且,您可以过滤切片器,使其仅基于当前选择的公司ID来显示可用数字。

您可以通过创建一个指示该参数对于当前所选公司ID是否可用的度量来实现。例如,

__AvailableRankFlag = IF( [TopRank Value] <= [Max Value], 1 )

并将此度量添加到“ __AvailableRankFlag为1”的切片器的过滤器中。