【问题标题】:how to solve SSRS Formatting issue?如何解决 SSRS 格式问题?
【发布时间】:2016-06-07 09:28:13
【问题描述】:

目前字段中的数据是这样的9646.88,我的要求是

删除小数位并为千位添加逗号,例如9,646

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

请帮忙,我是 SSRS 的新手。

【问题讨论】:

  • 9646.88 带有哪种数据类型?字符串(varchar)?
  • 是的............
  • @DeepakJain 您接受的答案将返回 9,647 而不是问题中提到的 9,646。请看我的回答here

标签: reporting-services ssrs-2008-r2


【解决方案1】:

选择文本框后转到属性窗格。

然后把它放在 Format 属性上

#,0;(#,0)

【讨论】:

  • 它将显示相同的值。 9646.88
【解决方案2】:

使用表达式窗口中显示的文本和转换函数等常用函数将为您提供所需的结果。

例如,

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", "#,###") 只返回"#,###"

没有一个可能不是您想要的结果。

【讨论】:

  • 我正在使用这个 =IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT",Nothing,IIF(isNothing(Fields!BASE_RENT_PM.Value),"9",Format(Int (Fields!BASE_RENT_PM.Value), "#,###"))) 但是当值为 null 时,#error 即将到来,需要帮助
  • 尝试检查Not( isNothing(Fields!COMPANY_NAME.Value) )
【解决方案3】:

你试过了吗?

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

应该可以解决您的问题。 亲切的问候

【讨论】:

  • 如果数据自带varchar数据类型。然后它将显示#,###
【解决方案4】:

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

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

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

=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)

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

【讨论】:

  • 我正在使用这个 =IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT",Nothing,IIF(isNothing(Fields!BA‌​SE_RENT_PM.Value),"9",Format (Int(Fields!BASE_RENT_PM.Value), "#,###"))) 但是当值为 null 时,#error 即将到来需要帮助
  • 哪个值为空?
  • 实际上当它在 DB 中为空(列值)时,它应该在 SSRS 中返回空白,否则值带有逗号,没有小数
  • 详细总结:-我从存储过程中获取数值,但在某些情况下它可以为空,所以我的要求是如果它不为空,那么它应该使用 1000 分隔符逗号显示,空值应该在 ssrs 报告中显示空白
  • 好的,现在告诉我,您目前使用的是哪种表达方式?我的答案一还是 Sythr 的答案一还是你自己的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 2018-01-09
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多