1

我一直在试图找到一种方法来搜索这个,但没有太多运气。

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

4

1 回答 1

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,有效地将它们的排序值移动到列表的末尾。它们的显示值将保持不变。

Switch 在找到第一个 true 时停止评估;所以最后的 1=1 基本上是otherwise根据字段的实际值在不旧、过时或 fom 时进行排序的子句。

于 2012-05-10T20:30:14.790 回答