SSRS XML十进制格式与Web格式不匹配

时间:2013-10-16 21:09:30

标签: xml reporting-services

将SSRS报告导出到XML时,如何控制小数格式?

我的单元格的Format属性设置为0.0。在BDS,Web查看器和PDF中运行时,这些值会正确显示。但是,当我导出到XML时,精度会丢失。例如;它在PDF中显示为13.4,在XML中显示为13.37。当然,这会导致导入其他系统时出现问题。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您使用格式属性,则在导出到Excel和XML时,这实际上不会更改基础值。

拿这个简单的报告。

数据集:

enter image description here

输出:

enter image description here

这导出为XML:

  <?xml version="1.0" encoding="utf-8" ?> 
  <Report xsi:schemaLocation="Report1 http://reportserver/?%2fReport1&rs%3aFormat=XML&rc%3aSchema=True" Name="Report1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Report1">
  <Tablix1>
  <Details_Collection>
  <Details MyValue1="1.234" MyValue2="1.2" /> 
  <Details MyValue1="5.678" MyValue2="5.7" /> 
  </Details_Collection>
  </Tablix1>
  </Report>

这有什么区别?

第一个值由格式属性控制,但第二个值实际上是文本框中的表达式:

=Format(Fields!MyValue2.Value, "N1")

因此, Format 属性控制值的显示方式但不更改其类型,但显式Format表达式返回一个字符串,因此XML导出不再意识到除了最终结果之外的细节。

两个列的PDF导出都是相同的,但XML导出会以不同的方式处理它们。第二个选项,即Format表达式,可能适用于您的情况。