考虑下表

sql-server - SSRS - 仅显示前 N 个类别组,不包括条形图中末尾的重复组-LMLPHP

我需要生成一个类别组 =“国家”的条形图。该图表应仅显示基于国家/地区记录计数的前 3 个组。我已经为类别组应用了一个过滤器,将 Count(Country) 的前 N ​​个条件指定为 3。生成的图表根据计数按预期应用过滤器,但即使存在具有重复值的条,我也只需要显示 3 个条。

下面是我得到的图表。

sql-server - SSRS - 仅显示前 N 个类别组,不包括条形图中末尾的重复组-LMLPHP

预期结果

sql-server - SSRS - 仅显示前 N 个类别组,不包括条形图中末尾的重复组-LMLPHP

现在我知道了,我可以在我的数据集中用排名值创建一个额外的列,然后在该列上应用过滤器以获得预期的结果(我已经尝试过这个,它有效)

有没有办法在不改变底层数据集的情况下达到预期的结果?

最佳答案

这是一个有趣的问题,因为我总是在没有多想的情况下“解决”数据集中的决胜局。但是,我确实看到了一种使用 rnd() 函数来解除关系的相当简单的方法,只要您不关心显示的是哪个国家/地区:

=(Count(Fields!Country.Value) * 1000) + (Rnd() * 100)

这基本上只是将每个国家/地区的计数加权为数千,然后以随机的小值进行抢七:

纽约: 3 0XX

法国: 2 0XX

中国: 1 0XX

意大利: 1 0XX

新加坡: 1 0XX

如果您想按字母顺序实际解决决胜局,您可以做类似的事情,但要包含国家/地区第一个字母的数值等...

关于sql-server - SSRS - 仅显示前 N 个类别组,不包括条形图中末尾的重复组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45192493/

10-08 21:02