【问题标题】:SSRS: Category groups randomly changing orderSSRS:类别组随机更改顺序
【发布时间】:2013-10-03 10:25:47
【问题描述】:

我在 ssrs 报告中有一些柱形图。 x 轴(类别)是过去 6 个月。图表上没有排序 - 我在 SQL 查询中执行所有这些操作,只是希望它们按查询的顺序显示。

它通常这样做,即按顺序: 四月、五月、六月、七月、八月、九月、十月

但有时它会显示: 十月、四月、五月、九月、六月、七月、八月

一段时间后,它会跳回到应有的状态。 有没有人知道它为什么会突然改变?

报告没有被任何东西过滤。

【问题讨论】:

    标签: reporting-services charts


    【解决方案1】:

    您需要对类别组进行排序。在图表数据选项中,选择类别组的下拉列表并转到Category Group Properties

    在左侧,您会看到一个名为“排序”的部分。将您的日期列添加到排序中,它应该始终正确排序。

    或者,您可以在查询中使用 ORDER BY 以确保以正确的顺序获取行。但是,如果您在图表中对行进行分组和聚合,我不能 100% 确定这种行为是否会持续下去。

    即使您返回 Jan、Feb 等,您也可以使用 SWITCH() 语句来获得正确的顺序,但这会很痛苦。最好返回包含数字或日期的列,以确保您正确排序图表。

    【讨论】:

    • 问题是,在这种情况下,我要带回“Jan”、“Feb”等,而不是日期。我的老板喜欢先用 SQL 格式化所有内容。我可以更改查询 - 但由于这在大多数情况下都有效,因此看起来有点傻。
    • 我喜欢用 SQL 做大部分事情,但格式化文本是 SSRS 非常擅长的。但是,不能像对待代码那样对待老板。您说它在大多数情况下都有效,但这完全是由于 SQL 决定给您的结果集的运气。如果您在查询中使用 ORDER BY,您可以确定结果的顺序并在 SQL 中执行所有操作以使您的老板满意。
    • 我同意,不是 SSRS 的忠实粉丝,但它确实可以很好地格式化文本!我将添加一个额外的 ORDER BY 虽然不确定 sql 如何改变结果......如果它再也不会这样做,那么我会知道!感谢您的意见。
    • 即使没有 ORDER BY 的结果集看起来是正确排序的,您也不能保证顺序。这就是 SQL 的工作原理。关于它如何从表中提取行的某些内容偶尔会发生变化,并且会弄乱您的订单。 (也许是行锁之类的,但我完全只是猜测。)
    猜你喜欢
    • 2014-06-13
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多