我有一个四舍五入货币的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)
我已将该字段的格式设置为货币,小数点后两位。
有人可以提供帮助,以使报告中的值与期望值相同吗?
答案 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))
当然,这仍然可能是错误的,因为我无法确定所有字段是否都是日期数据类型,或者此处是否存在某种不匹配。让我知道这是否行不通,我会调整一下。