【问题标题】:SSRS - Display only Top N Category Groups excluding duplicate groups at the end in Bar ChartSSRS - 在条形图中仅显示前 N 个类别组,不包括重复组
【发布时间】:2017-07-19 13:44:55
【问题描述】:

考虑下表

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

下面是我得到的图表。

预期结果

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    纽约:30XX

    法国:20XX

    中国:10XX

    意大利:10XX

    新加坡:10XX

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

    【讨论】:

    • 感谢@Daniel,当然是实现我需要的简单方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多