我在同一数据集上有两个方程式。一个返回错误,另一个不返回错误。方程式如下:
1) =Sum(IIF(Fields!Service.Value="Dispatch Only", 0, Fields!Charge.Value))
2) =Sum(IIF(Fields!Service.Value="DispatchOnly", 0, Fields!Charge.Value))
请注意,两者之间的唯一区别是我从我正在寻找的领域中占用了一个空间。
我想要整个数据集的总和。但是,如果没有" Dispatch Only"我还需要知道相同的金额是多少。值。显然,等式#2并没有产生任何有用的信息(它只是总和),但我加上它只是为了证明我并不是因为一些非常基本的错字而疯了,就像一个逗号地方。
我对方程式#1做错了什么?
答案 0 :(得分:1)
当在不同的数据类型上应用聚合时,通常会发生这种情况,除非您有IIf
语句,否则您不太可能获得这种数据类型。
您可能在Charge
和 0 之间(即Charge
的基础数据类型与整数 0 之间)不匹配
要解决此问题,请确保 0 与Charge
的数据类型相同,即根据需要使用CDec(0)
或CDbl(0)
。< / p>
要考虑的另一个选择是使用Nothing
代替 0 - 通过使用SSRS空值来避免任何数据类型冲突,但它确实具有返回{的缺点{1}}如果没有匹配的 Dispatch Only 行。