报告服务 - 自定义格式

时间:2010-08-16 07:38:55

标签: reporting-services

问候, 在其中一列中,我有以下值:

9-7
9-18
9-142

目前,当我根据这个专栏排序时,我必须遵循:

9-142
9-18
9-7

我想按如下方式对这些值进行排序:

9-7 (so it would be 9-007)
9-18 (so it would be 9-018)
9-142

我尝试了以下格式:

=Format(Fields!ShelfNumber.Value,"000-000")

但它不起作用。请有人帮帮我吗?

1 个答案:

答案 0 :(得分:1)

按以下表达式排序:

=Cint(IIf(InStr(Fields!shelfnumber.Value,"-")<=1,"0",Left((Fields!shelfnumber.Value & "-"), InStr((Fields!shelfnumber.Value & "-"),"-")-1)))
=Cint(IIf(Fields!shelfnumber.Value="" or Len(Fields!shelfnumber.Value)=InStr(Fields!shelfnumber.Value,"-"),"0",Right(Fields!shelfnumber.Value, Len(Fields!shelfnumber.Value) - InStr(Fields!shelfnumber.Value,"-"))))

第一个将 - 之前的字符转换为数字,第二个将字符后面的字符转换为数字。

已编辑,允许空字符串。

进一步编辑,允许在字符串的开头或结尾使用-的ShelfNumbers。

进一步编辑,经过测试。