【发布时间】: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