基于数据库文本字段控制SSRS中的排序

时间:2012-05-10 20:17:01

标签: sorting reporting-services

我一直试图找到一种方法,甚至可以在没有太多运气的情况下搜索它。

基本上,我在表格中有一个文本字段。我要做的就是检查该文本字段是否包含特定字符串,在这种情况下,如果此字段包含“OLD”,“OBSOLETE”或“FOM”,然后将其移动到列表的最底部,让其他一切正常排序。这可能吗?我试图这样做,如果没有太多的SQL语句本身。

1 个答案:

答案 0 :(得分:0)

您可以使用与排序相关的表达式/函数中的switch语句来执行此操作。逻辑上,switch()与case语句非常相似。

在“排序选项”下,通过单击右侧的表达式按钮(Fx)添加新的排序行项目(或修改现有项目)

然后修改类似于此的排序表达式:

=Switch(Fields!YourField.Value="Old","xxx",
        Fields!YourField.Value="Obsolete","yyy",
        Fields!YourField.Value="Fom","zzz",
        1=1,Fields!YourField.Value)

这会创建一个switch语句,用于将您提到的项目的值排序为xxx,yyy和& zzz有效地将其排序值移动到列表的末尾。它们的显示值将保持不变。

开关在找到第一个true时停止评估;所以最后的1 = 1基本上是otherwise子句,它表示按字段的实际值排序,不是旧的,过时的,或者是fom。