组属性 - 不按字母顺序排序

时间:2013-04-11 13:59:52

标签: sorting grouping reporting-services

在一个组中,我有四个SSRS按字母顺序排序的项目: 分配, 新, 旧, 续订,

我希望报告按此顺序排列: 新, 更新, 分配, 老,

如何在“群组属性”中完成此操作> “排序”?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用类似于以下内容的表达式设置Group Sorting属性:

=Switch(Fields!yourField.Value = "New", 1
  , Fields!yourField.Value = "Renew", 2
  , Fields!yourField.Value = "Assigned", 3
  , Fields!yourField.Value = "Old", 4)

基本上,您根据字段创建计算值,并按此计算值排序。

显然,您需要使用正确的名称更新字段详细信息。

评论后修改:

我已经汇总了一个小例子,以确认这是按预期工作的。首先,创建一个样本数据集:

enter image description here

我使用基于数据集的表创建了一个示例报表:

enter image description here

分组基于状态。默认情况下,这被设置为按组级别的相同字段排序,即按字母顺序排列状态

enter image description here

结果反映了这一点:

enter image description here

下一步是在组级别应用基于表达式的排序。我使用与上面完全相同的表达式,用Status代替yourField。结果现在按要求排序:

enter image description here

因此,您可以看到建议的解决方案确实有效。下一个问题 - 为什么它不适合你?如果你完全确定你已经在组级别正确实现了这一点,我只能认为在子组中应用了排序。

例如,创建时,表默认会有一个详细信息组,以显示数据集中的各个行 - 这里可能会设置排序并阻止父级排序工作正确。我会检查表中的所有组和表排序表达式,并删除已设置的任何意外排序。