【问题标题】:SSRS re-sorts data meticulously sorted from the SQL query! Why?SSRS 对从 SQL 查询中精心排序的数据进行重新排序!为什么?
【发布时间】:2015-06-17 07:56:50
【问题描述】:

我正在通过 Visual Studio 2008 使用 SQL Server 报告服务编写报告。我在 SQL Server 数据库上有一个存储过程,它返回一个列表,在该列表中我需要在 @ 列中具有值“F”的条目987654323@ 总是在最前面,例如:

F
A
B
C
D
E
G
H

其他的顺序无关紧要,所以我通过以下查询子句完成了这一壮举:

ORDER BY CASE [Column] WHEN 'F' THEN 0 ELSE 1 END

如果我在 SQL Server Management Studio 中播放存储过程,它会以正确的排序返回,当我从报表数据查询设计器窗口调用它时,它也可以正常工作。

但是...当我去预览报告时,元素在包含它们的矩阵中按字母顺序重新排序,因此“A”在顶部并且“ F" 介于 "E" 和 "G" 之间:

A  B  C  D  E  F  G

我找到了this problem,但经过检查,矩阵不包含排序选项。我认为它可能在某一时刻,在这种情况下,某些东西可能没有正确刷新(尽管存储过程已被更改为返回不同的数据并且新条目成功出现,所以我不认为就是这样)。

有什么想法可以尝试吗?非常感谢!

【问题讨论】:

  • 您是否尝试过删除报告(*.rdl.data)文件的缓存?

标签: sql-server sql-server-2008 sorting reporting-services


【解决方案1】:

您是否检查了 both Tablix 属性 列组属性以进行排序? Column Grouping 的排序具有优先级......并且另外会自动包含一个子句来对 Group 所在的同一字段进行排序,根据我的经验,这通常会导致这样的混乱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多