Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 对具有十进制数的文本字段进行交互式排序_Reporting Services - Fatal编程技术网

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

Reporting services 对具有十进制数的文本字段进行交互式排序,reporting-services,Reporting Services,我在SSRS报告中有以下文本字段: 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 我想以交互方式对该字段进行排序。我该怎么做 按升序排序后,报告应显示 Version 1.0.0.0 1.2.0.0 1.4.11.0 2.0.0.0 2.1.8.8 2.2.32.7 提前感谢要使用交互式排序,请右键单击列标题并查看文本框属性 单击交互式排序选项卡并选中启用交互式排序框 通常,您会使用详细信息行,但也可以指定使用组 将要排序

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

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
我想以交互方式对该字段进行排序。我该怎么做

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

Version
1.0.0.0
1.2.0.0
1.4.11.0
2.0.0.0
2.1.8.8
2.2.32.7

提前感谢

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

单击交互式排序选项卡并选中启用交互式排序框

通常,您会使用详细信息行,但也可以指定使用组

将要排序依据的字段或表达式放入排序依据表达式中

对于要排序的任何其他列,都需要执行相同的操作

至于您的数据,您的字段将按文本而不是数字排序。这适用于列出的数据,但如果版本为两位数,则可能会导致问题。排序后的列表将按如下顺序排列:

  • 1.15
  • 10.5
  • 2.33
  • 3.2
  • 9.1
  • 如果这是一个潜在的问题,您需要找到一种解决方法。您可以使用将零添加到第一个数字的表达式来处理此问题:

    =RIGHT("000" & LEFT(FIELDS!Version.VALUE, INSTR(FIELDS!Version.VALUE) - 1) & MID(FIELDS!Version.VALUE, INSTR(FIELDS!Version.VALUE) + 1, LEN(FIELDS!Version.VALUE))
    
    有关更多信息:

    我已经找到了解决办法。我分解字符串并添加尾随的零,使它们的长度为8(在我的例子中)。e、 g.“1.2.11.0”变为“01021100”,以此类推。然后将其转换为整数,然后在交互式排序中,使用此整数字段进行排序。

    非常感谢您的输入。我已经设计了一些其他字段的交互式排序,但由于此版本字段为文本,但包含小数信息,因此排序不正确