我基本上是想按费用顺序获得所有国家/地区的前10名索赔。排名很容易做到,我已经建立了排名。
=Rank([Estimated Loss Amount Home Currency];([Claim ID]);Top)
但是我该如何应用呢,那么每个国家的前10名呢? 目前,我在国家/地区设置了休息时间,因此可以对每个国家/地区的债权进行排名。因此,例如,澳大利亚有21项声明显示(所有这些声明并将它们排名为1-21)。当我将排名变量用作前十名的过滤器时,它会在整个数据集(而不是每个国家/地区)上使用它,因此我仅在澳大利亚排名前十,而失去了其他国家。
我已经在SQL中轻松创建了它,只是无法理解Webi中的逻辑。
谢谢。
答案 0 :(得分:0)
technical documentation指示了如何执行此操作:以下大部分内容是该技术文档的直接副本。
语法
int Rank(measure;[ranking_dims][;Top|Bottom][;(reset_dims)])
输入
+--------------+-----------------------------------------+----------------+---------------------+
| Parameter | Description | Type | Required |
+--------------+-----------------------------------------+----------------+---------------------+
| measure | The measure to be ranked | Measure | Yes |
| ranking_dims | The dimensions used to rank the measure | Dimension list | No |
| Top|Bottom | Sets the ranking order: | Keyword | No (Top is default) |
| | | | |
| | Top - descending | | |
| | Bottom - ascending | | |
| | | | |
| reset_dims | The dimensions that reset the ranking | Dimension list | No |
+--------------+-----------------------------------------+----------------+---------------------+
注释
所以在您的情况下:
=Rank([Estimated Loss Amount Home Currency];([Claim ID]);Top;([Country]))
示例
在下表中,排名由Rank([Revenue];([Country];[Year]);([Country]))
给出。排名在“国家/地区”维度上重置。
+---------+--------+---------+------+
| Country | Year | Revenue | Rank |
+---------+--------+---------+------+
| France | FY1998 | 295,940 | 1 |
| France | FY1999 | 280,310 | 2 |
| France | FY2000 | 259,170 | 3 |
| US | FY1998 | 767,614 | 3 |
| US | FY1999 | 826,930 | 2 |
| US | FY2000 | 856,560 | 1 |
+---------+--------+---------+------+