所有
我的SSRS报告中有两列。它们是:Data(float)和Format(varchar)。
格式可以有三个值之一:“N”,“%”,“$”。
如果格式列为“N”,我需要将列格式化为“#,## 0”。如果列是“%”,我需要将列格式化为百分比。如果格式为“$”,我需要将其格式化为货币。
然而,我所做的一切都在起作用。
我试过了:
=Switch(Fields!month_4_tformat.Value="N", Format(Fields!month_4_Data.Value,"#,##0"), Fields!month_4_tformat.Value="%", Format(Fields!month_4_Data.Value,"P"), True, Format(Fields!month_4_Data.Value,"C"))
=iif(Fields!month_4_tformat.Value="N", Format(Fields!month_4_Data.Value,"#,##0"), iif(Fields!month_4_tformat.Value="%", Format(Fields!month_4_Data.Value,"P"), Format(Fields!month_4_Data.Value,"C")))
这两种情况都会导致意外结果。如果您查看屏幕截图,第2列,最后一个单元格是“228722870”,虽然数据库值仅为22870,因此该值显示两次,但第1,3,4和5列有效。第二行,第1列是错误的,因为数据库中的值是“0.2”,因此百分比应为“20%”。第三列显示“1616.00”百分比,但它应为“16%”,因为数据库中的值为“0.16”。这些数字都没有格式化为“#,## 0”。
我做错了什么?任何帮助表示赞赏.....
答案 0 :(得分:0)
使用CSTR功能是我需要或至少解决了这个问题