如何从asc / descending排序值?

时间:2018-04-03 15:18:57

标签: business-intelligence spotfire

努力寻找从最高到最低的等级值,请参阅我试图实现的附加示例。

我当前的自定义表达式是:

Sum([ViolationAmt])

我试过这个:

Sum([ViolationAmt]) over Rank([ViolationAmt])

我已经玩过排名表达但却无法实现......非常感谢你的帮助。

Spotfire Rank Example

enter image description here

1 个答案:

答案 0 :(得分:4)

我需要在这里做出很多假设,因为我对你的数据集一无所知,或者你的最终目标是什么,所以如果我不在基地,请回复和/或在你的问题中提供更多信息。

第一个假设是数据集中的每一行代表一个,为简单起见,[AccountID]代表[ViolationAmt]。我也猜测你想要在表格中显示排名最高的前N个帐户,因为这就是你在这里展示的内容。

所以听起来你需要两个计算列:一个用于获取每个帐户的总[ViolationAmt],另一个用于对它们进行排名。

对于第一个,创建一个名为[TotalViolationAmt]的列或其他一些并使用:

Sum([ViolationAmt]) OVER ([AccountID])

第二个:

Rank([TotalViolationAmt])

如果您还没有阅读documentation on ranking functions将会很有用。

您可以将这两者组合成一个列,例如:

Rank(Sum([ViolationAmt]) OVER ([AccountID]))

但我根本没有测试过这个。再一次,如果你详细介绍一下你想要实现的目标,它将帮助你获得更好,更详细的答案:)