Den*_*ans 5 sql-server reporting-services business-intelligence sql-server-2016 ssrs-2016
考虑下表
我需要生成一个类别组 =“国家”的条形图。该图表应仅显示基于国家/地区记录计数的前 3 个组。我已经为类别组应用了一个过滤器,将 Count(Country) 的前 N 个条件指定为 3。生成的图表根据计数按预期应用过滤器,但即使存在具有重复值的条,我也只需要显示 3 个条。
下面是我得到的图表。
预期结果
现在我知道了,我可以在我的数据集中用排名值创建一个额外的列,然后在该列上应用过滤器以获得预期的结果(我已经尝试过这个,并且它有效)
有没有办法在不改变底层数据集的情况下达到预期的结果?
注意:上面显示的数据集是我的数据集的高度简化版本。实际上,我有一个包含很多列的庞大数据集。相同的数据集已用于各种图表(在不同的列上分组)。
这是一个有趣的问题,因为我总是不假思索地“解决”数据集中的决胜局。但是,我确实看到了一种相当简单的方法,可以使用rnd()函数来消除联系,只要您不关心显示哪个联系国家即可:
=(Count(Fields!Country.Value) * 1000) + (Rnd() * 100)
Run Code Online (Sandbox Code Playgroud)
这本质上只是将每个国家的计数加权到数千,然后用随机的小值进行平局:
纽约: 3 0XX
法国: 2 0XX
中国: 1 0XX
意大利: 1 0XX
新加坡:1 0XX
如果您想实际按照字母顺序解决决胜局,您可以做类似的事情,但合并国家/地区第一个字母的数值等......
| 归档时间: |
|
| 查看次数: |
770 次 |
| 最近记录: |