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

时间:2017-07-19 13:44:55

标签: sql-server reporting-services business-intelligence sql-server-2016 ssrs-2016

考虑下表

enter image description here

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

下面是我得到的图表。

enter image description here

预期结果

enter image description here

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

有没有办法在不更改基础数据集的情况下实现预期结果?

  

注意:上面显示的数据集是我的数据集的高度简化版本。实际上,我有一个包含大量列的庞大数据集。相同的数据集已用于各种图表(不同列上的分组)。

1 个答案:

答案 0 :(得分:1)

这是一个有趣的问题,因为我一直只是解决了#34;没有太多考虑的数据集中的决胜局。但是,我确实看到了一种相当简单的方法来使用{{3}}函数解散关系,只要您不关心哪些关联国家/地区显示:

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

这基本上只是将每个国家/地区的数量加权到数千个,然后用随机小值加权抢劫:

纽约: 3 0XX

法国: 2 0XX

中国: 1 0XX

意大利: 1 0XX

新加坡: 1 0XX

如果您想以字母顺序排列实际解决决胜局,您可以做类似的事情,但要包含国家首字母的数值等...