我正在通过Visual Studio 2008使用SQL Server报告服务编写报告。我在SQL Server数据库上有一个存储过程,它返回一个列表,其中我需要值为“F
”的条目colulmn [Column]
总是排在最前面,如此:
F
A
B
C
D
E
G
H
其他人的顺序并不重要,所以我使用以下查询条款完成了这项专长:
ORDER BY CASE [Column] WHEN 'F' THEN 0 ELSE 1 END
如果我在SQL Server Management Studio中播放存储过程,则返回正确的排序,当我从Report Data Query Designer窗口调用它时,它也能正常工作。
HOWEVER ... 当我去预览报告时,元素会按照字母顺序在包含它们的矩阵中重新排序,以便“A
”位于顶部并且“F
”位于“E
”和“G
”之间:
A B C D E F G
我找到this problem,但在检查时,矩阵不包含任何排序选项。我认为它可能在某一点上,在这种情况下可能有些东西没有正确刷新(虽然存储过程已经被改变以返回不同的数据并且新条目成功出现,所以我认为不是这样)。
我可以尝试的任何想法?非常感谢提前!
答案 0 :(得分:2)
您是否选中两者 Tablix属性和列组属性进行排序?列分组的排序采用优先级...并且还会自动包含一个子句,以对该组所在的同一字段进行排序,这通常会在我的经验中造成这样的混淆。