如何解决SSRS格式问题?

时间:2016-06-07 09:28:13

标签: reporting-services ssrs-2008-r2

目前,该领域的数据来自 9646.88 ,我的要求是

删除小数位并为数千个添加逗号,例如9646

=IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT","",Fields!BASE_RENT_PM.Value)

请帮忙,我是SSRS的新手。

4 个答案:

答案 0 :(得分:1)

选择文本框时,转到“属性”窗格。

然后将其放在格式属性

#,0;(#,0)

答案 1 :(得分:1)

使用表达式窗口中显示的文本和转换功能等常用功能可以获得所需的结果。

例如,

Format(Int(9646.88), "#,###") // try "#,##0" which returns 0 if less than 1

其中Int(9646.88)返回数字9646的整数部分,Format(9646,"#,###")返回根据格式字符串表达式"#,###"中包含的指令格式化的字符串,这是一千个分隔符。因此,它会给你“9,646”

所以,在你的情况下,试试这个,

=IIF(RTRIM(Fields!COMPANY_NAME.Value)="VACANT", "", Format(Int(Fields!BASE_RENT_PM.Value),"#,###"))
  

注意:

     

Format(9646.88, "#,###")将返回舍入结果9,647

     

Format("VACANT", "#,###")只返回"#,###"

     

这些都不是您想要的结果。

答案 2 :(得分:0)

你试过这个吗?

=FORMAT(IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT","",Fields!BASE_RENT_PM.Value),"#,###")

应该解决你的问题。 亲切的问候

答案 3 :(得分:0)

要为数千添加逗号,您需要更改表达式。

如果您需要输出9,646,请尝试以下。

 =IIF(RTRIM(Fields!COMPANY_NAME.Value)="VACANT","",Format(Convert.ToInt32(Int(Fields!BASE_RENT_PM.Value),"#,0;(#,0)")))

<强> OR

=IIF(RTRIM(Fields!COMPANY_NAME.Value)="VACANT","",Format(CInt(Int(Fields!BASE_RENT_PM.Value),"#,0;(#,0)")))

更新后的答案:

由于你想处理空值,我建议以下方式来实现你的目标。

使用以下表达式设置文本框可见性。

=IIF(ISNOTHING(Fields!BA‌​‌​‌​SE_RENT_PM.Value),True,False)

因此,如果存在空值,那么它将在ssrs报告中显示为空白。