SSRS自定义数字格式

时间:2012-12-27 08:27:02

标签: reporting-services number-formatting custom-formatting

我要从SSRS生成一个excel文件,

我想格式化这样的数字......

  • 15显示为15

  • 14.3453453显示为14.35

  • 12.1显示为12.1

  • 0显示为0

  • 1显示为1

我可以在Excel中应用此功能,但无法在SSRS中应用

  

[= 0] 0; [= 1] 1; 0 ##

ssrs error message

有人能为我建议另一种方式吗?谢谢!

3 个答案:

答案 0 :(得分:29)

我假设您想知道如何格式化SSRS中的数字

只需right click要应用格式的TextBox,请转到expression

假设它的表达式如下所示

=Fields!myField.Value

然后这样做

=Format(Fields!myField.Value,"##.##") 

=Format(Fields!myFields.Value,"00.00")

两者之间的区别在于,前者将4作为4,之后将4作为04.00

这应该会给你一个想法。

另外:您可能需要将字段转换为数字字段。即。

  =Format(CDbl(Fields!myFields.Value),"00.00")

so:格式表达式中的0表示当没有数字时,在那里放置0,#表示当没有数字时,保留它。当数字存在时,它们都相同 即。 45.6567对于他们两个都是45.65:

更新:

如果要根据行值在同一列上应用变量格式,即 你希望myField在没有小数值时没有格式化,但是当它有小数时用双精度格式化,那么你可以通过逻辑来做。 (虽然你不应该这样做)

转到相应的文本框并转到其表达式并执行以下操作:

=IIF((Fields!myField.Value - CInt(Fields!myField.Value)) > 0, 
    Format(Fields!myField.Value, "##.##"),Fields!myField.Value)

所以基本上你使用的是SSRS的IIF(condition, true,false)运营商, 你的条件是检查数字是否有十进制值,如果有,你应用格式,如果没有,你按原样使用。

这应该会给你一个想法,如何处理变量格式化。

答案 1 :(得分:13)

您是否尝试使用自定义格式"#,##0.##"

答案 2 :(得分:1)

您可以使用

 =Format(Fields!myField.Value,"F2")