我有一个包含多个公司数据的表,并且其中有 company_id 列。我想为报表的排名功能显示具有所选 company_id 最大值的滑块。
我创建了一个度量以计算所选公司的最大值的计数。
Max Value = CALCULATE(DISTINCTCOUNT(SOURCE_TABLE[Company_Name]),FILTER(SOURCE_TABLE,SOURCE_TABLE[Company_id]=SELECTEDVALUE(SOURCE_TABLE[Company_id])))
但是当我尝试将其用于假设功能中的假设参数低于错误时,
TopRank = GENERATESERIES(1,[最大值],1)
错误代码:
GenerateSeries函数中的参数不能为空。
当我使用DISTINCTCOUNT函数时,它可以正常工作,但是使用过滤器时,它有问题。
TopRank = GENERATESERIES(1,DISTINCTCOUNT(SOURCE_TABLE [Company_Name]), 1)
-运行正常
如何使用 FILTER 获取 DISTINCTCOUNT 的值。任何想法将不胜感激!!
答案 0 :(得分:1)
您可能已经注意到,假设参数表是计算表。
仅当刷新数据源后,才会重新计算计算表。不会根据用户交互(例如在切片器中选择公司ID)进行重新计算。
在您的方案中,您需要使用可能的最大数量创建参数表。而且,您可以过滤切片器,使其仅基于当前选择的公司ID来显示可用数字。
您可以通过创建一个指示该参数对于当前所选公司ID是否可用的度量来实现。例如,
__AvailableRankFlag = IF( [TopRank Value] <= [Max Value], 1 )
并将此度量添加到“ __AvailableRankFlag为1”的切片器的过滤器中。