【问题标题】:PowerBI Filter Not Displaying Correct ValuesPowerBI 筛选器未显示正确的值
【发布时间】:2017-03-29 13:07:56
【问题描述】:

我在 PowerBI 中有一个相当棘手的情况。我根据公司员工做某事所需的最短时间为他们制定了一个等级。这是一个基于三个不同因素的排名;要做到这一点,“排名”必须是一个衡量标准。

所以,我有一个度量“等级”,它可以按我的意图工作:

Rank = IF ( HASONEVALUE( Query1[Employee Name] ), RANKX( ALLSELECTED ( Query1[Employee Name] ), [Rank_Total],, TRUE) )

其中[Rank_Total] 是创建我之前提到的三个独立因素的原始分数的度量。因此,[Rank_Total] 创建一个原始分数,[Rank] 将原始值排序到 [Rank_Total]

这就是事情变得奇怪的地方:如果我只想根据[Rank] 选择前 5 个条目,我会得到什么都没有

我的意思是:我创建了一个名为 Test Measure 的度量,并将其设置为:

Test Measure = IF( [Rank] < 6, 1, 0 )

这适当地更新了矩阵:

但是,当我过滤“测试度量”以仅包含“1”时,会发生这种情况:

有人对为什么会发生这种情况有什么建议吗?合适的解决方法是什么?

编辑添加: Here 是指向 Google 公开工作表(例如数据)的链接。 我的参数如下:

Loan Count = COUNT(Query1[Loan Number])

Loan Count by Employee = Loan Count by Employee = CALCULATE([Loan Count], GROUPBY(Query1, Query1[Employee Name]))

Volume = Sum(Query1[Loan Amount])

Avg CTC Time = AVERAGE(Query1[CTC Time])

Avg CTC Time by Employee = CALCULATE([Avg CTC Time], GROUPBY(Query1, Query1[Employee Name]))

现在,为了排名。我必须根据三个不同的因素得出的排名,按以下顺序排列:

  1. 最短 CTC 时间
  2. 最高贷款数
  3. 最高音量

以下是措施:

Rank_CTCLength = IF ( HASONEVALUE( Query1[Employee Name] ), RANKX( ALLSELECTED ( Query1[Employee Name] ), [Avg CTC Time by Employee],, TRUE) )

Rank_LoanCount = IF ( HASONEVALUE( Query1[Employee Name] ), RANKX( ALLSELECTED ( Query1[Employee Name] ), [Loan Count] ,, False) )

Rank_LoanVolume = IF ( HASONEVALUE( Query1[Employee Name] ), RANKX( ALLSELECTED ( Query1[Employee Name] ), [Volume],, False) )

我将这三个因素都考虑在内,得到一个名为“Rank_Total”的“原始分数”:

Rank_Total = FORMAT([Rank_CTCLength]+[Rank_LoanCount]*POWER(10,-4)+[Rank_LoanVolume]*POWER(10,-8),"00000.00000000%")

从那里,我创建了名为 Rank 的最终排名参数:

Rank = IF ( HASONEVALUE( Query1[Employee Name] ), RANKX( ALLSELECTED ( Query1[Employee Name] ), [Rank_Total],, TRUE) )

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    在信息有限的情况下,我认为发生这种情况的原因是,当您应用基于度量的筛选器(在本例中为 Test Measure)时,它会更改视觉对象中可用的数据并导致 Power BI 重新评估另一个基于新数据集的措施(例如Rank)。

    我的建议是基于measure (Rank) 在视觉中的现有column(例如EmployeeID)上应用Top N Filter,而不是创建一个新的过滤措施。

    示例和结果:


    编辑:

    首先,一些建议。我注意到除了Avg CTC TimeLoan Count 之外,您还创建了Avg CTC Time by EmployeeLoan Count by Employee。这实际上是不需要的,因为 Power BI 中 Measure 的美妙之处在于它将根据当前数据上下文进行评估。因此,当您在矩阵中的 Employee Name 列旁边添加 Avg CTC Time 度量时,员工会自动将其评估为平均 CTC 时间。 (见下面的截图,两列的值相同)

    非常感谢您在解决此问题时提供的额外信息。不幸的是,数据集仍然不足以重现该问题。它甚至非常适合您建议在问题中失败的Test Measure。因此,恐怕您必须与原始查询进行交叉比较,并在可以重现问题的地方添加更多详细信息。

    【讨论】:

    • 您好,感谢您的回复。不幸的是,在按照您列出的步骤进行操作后,我的图表只是空白-根本没有显示任何行。
    • @daOnlyBG 您能否分享更多类似数据和数据模型的样本集,以便我们确定本案例中的具体挑战?
    • 当然可以。让我很快把一些东西放在一起。将一小部分数据样本上传到此页面的最佳方式是什么?
    • 我认为将其复制到公开的 Google 表格中即可。
    • 我在底部的问题中更新了相关信息-谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    相关资源
    最近更新 更多