如何在ssrs报告中停止四舍五入

时间:2019-04-05 08:23:06

标签: reporting-services

我有一个四舍五入货币的SSRS报告,我需要该报告显示实际值。当我在查询设计器中运行查询时,所有值均正确显示。如果我将其输出到Excel并SUM的值,我会得到期望的总数(例如,56724.30英镑)

运行报表时,我得到的值是56840.00英镑,因此看起来所使用的数据在输出之前已经取整。

我在报告中有一个计算字段,名为Total_Rent_Due_UC_Claims

=iif(Fields!UC_Rent.Value = Fields!LastCharge.Value, Fields!UC_Rent.Value, 0) or 
iif(Fields!UC_Rent_Date.Value = Fields!LastCharge.Value and 
Fields!extra10a_d003.Value < Parameters!AsAtDate.Value, 0, Fields!UC_Rent_Date.Value)

然后我用它来获得总数:

=Sum(Fields!Total_Rent_Due_UC_Claims.Value)

我已将该字段的格式设置为货币,小数点后两位。

有人可以提供帮助,以使报告中的值与期望值相同吗?

1 个答案:

答案 0 :(得分:0)

我认为这种差异不能归因于四舍五入-至少不是我以前见过的任何四舍五入。两者相差115.70英镑。我认为计算所得的字段并不能完全满足您的要求,需要进行一些修改。我不确定现在正在做什么,但是基本上,这两个IIF语句都会求值,因为OR并不能真正按照您的方式工作。我会尝试以下表达式。

=IIF(Fields!UC_Rent.Value = Fields!LastCharge.Value, 
     Fields!UC_Rent.Value, IIF(Fields!UC_Rent_Date.Value = Fields!LastCharge.Value 
         AND Fields!extra10a_d003.Value < Parameters!AsAtDate.Value, 0, Fields!UC_Rent_Date.Value))

当然,这仍然可能是错误的,因为我无法确定所有字段是否都是日期数据类型,或者此处是否存在某种不匹配。让我知道这是否行不通,我会调整一下。