具有十进制数字的文本字段的交互式排序

时间:2015-06-18 22:50:21

标签: reporting-services

我在SSRS报告中有以下文本字段:

Private Sub Workbook_Open( )
     Application.OnTime TimeValue("23:00:00"), "Unshare"
End Sub

我想以交互方式对此字段进行排序。我该怎么做?

按升序排序后,报告应显示

Version
2.0.0.0
1.0.0.0
1.2.0.0
2.1.8.8
2.2.32.7
1.4.11.0

提前谢谢

2 个答案:

答案 0 :(得分:0)

要使用交互式排序,请右键单击列标题并查看文本框属性

单击交互式排序选项卡,然后选中“启用交互式排序”框。

通常您会使用Detail Row,但您也可以指定使用Group。

在Sort By表达式中放置要排序的字段或表达式。

您需要为要排序的任何其他列执行相同的操作。

对于您的数据,您拥有的字段将按文字排序,而不是数字。这适用于您列出的数据,但如果您有两位数的版本,则可能会出现问题。排序列表将订购如下列表:

  1. 1.15
  2. 10.5
  3. 2.33
  4. 3.2
  5. 9.1
  6. 如果这是一个潜在的问题,你需要找到一种方法来处理它。你可以使用一个表达式将零添加到第一个数字来处理这个:

    =RIGHT("000" & LEFT(FIELDS!Version.VALUE, INSTR(FIELDS!Version.VALUE) - 1) & MID(FIELDS!Version.VALUE, INSTR(FIELDS!Version.VALUE) + 1, LEN(FIELDS!Version.VALUE))
    

    欲了解更多信息: Interactive sorting In SSRS on Values - Matrix report

答案 1 :(得分:0)

我找到了解决方法。我分解字符串并添加尾随零并使其长度为8(在我的情况下)。例如' 1.2.11.0'成为' 01021100'依此类推。然后将其转换为Integer,然后在交互式排序中,使用此整数字段进行排序。