我正在使用SSRS报告,其中很多都显示了一些数字,通常大于1000,通常带小数。我可以很容易地将这些数字格式化为例如1.000,00,但我的问题是我的一些用户希望看到千位分隔符为逗号,有些则为点(反之亦然,小数分隔符)。我可以将自定义数字格式作为参数传递给报告,但之后我必须将它应用于我的报告中的每个数字。有没有更简单/更好的解决方案?
总结一下,我希望我的一些用户看到数字1000为1.000,00,其他人根据我将传递给报告的参数(例如@NumberFormatingStyle)将其视为1,000.00,这种方式以某种方式应用于所有数字在报告上没有明确地将其设置为每个数字字段。
答案 0 :(得分:1)
您应该将它应用于您希望格式为动态的每个文本框的格式属性。
首先,您需要创建参数@NumberFormatingStyle。
手动添加值。
值= 1,标签=逗号
值= 2,标签=点/点
然后将一个类似于此属性的表达式放到Format属性中。(只需更改引号之间的值,使用适当的格式进行应用)
=SWITCH(Parameters!NumberFormattingStyle.Value = 1,"#,0.00;(#,0.00)","#.0.00;(#.0.00)")
答案 1 :(得分:0)
我找到了简单的解决方案。 我将报告的语言设置为我的@Culture参数(其中包含诸如“en-US”之类的值,并传递给报告)。 之后,我只需要为我的数字占位符设置“使用区域格式化”,它将以我想要的方式格式化数字(通过传递的@Culture参数进行调整,无论如何我都使用它)。 这样我就不必手动格式化每个数字了。