我们正在尝试使用 Report Builder 数据集中的 RANK() 函数对度量进行排名,但是当被排名的计算度量中有除数时,它会随机跳过值。这与度量值相等然后进入下一个等级无关。我们知道这就是 RANK() 函数的工作原理。例如,当排名的度量对每个成员具有唯一值时,它将从排名 33、34 到 36,完全跳过 35。
没有任何数据集、表或分组被过滤或隐藏任何行,因此我们应该看到排名 35。rank 函数在具有加法、减法和乘法的度量上按预期工作,但在除法的所有排名上都会中断。跳过的值是随机的,并且对于不同的排名度量也不总是在同一位置。
我们还使用自定义报告代码在表格本身中进行排名,并且划分也打破了这一点。
以下是所使用措施的一些示例:
销售目标达成指标
MEMBER [Measures].[SalesGoalAttainment] AS
IIF([Measures].[Sales_Target] is null,null,
([Measures].[Metric1_Sales_MTD] + [Measures].[Metric2_Sales_MTD] + ([Measures].[Metric3_Sales_MTD] *.5))
/ [Measures].[Sales_Target] )
销售目标达成排名
MEMBER [Measures].[SalesGoalAttainmentRank] AS
IIF( Measures].[SalesGoalAttainment] = null, null,
RANK ([Regions and Stores].[Store Name].currentmember, [Regions and Stores].[Store Name].members, [Measures].[SalesGoalAttainment] ))
当我们拉出正在排名的度量的“/ [Measures].[Sales_Target]”部分时,它工作正常。
有没有人有一个解决方案,可以在不丢失排名值的情况下对除法度量进行排名?或者这是某种已知的错误?