Reporting services SSRS<&书信电报;expr>&燃气轮机;总和误差
我在同一个数据集上有两个方程。一个返回错误,另一个不返回。方程式如下:Reporting services SSRS<&书信电报;expr>&燃气轮机;总和误差,reporting-services,Reporting Services,我在同一个数据集上有两个方程。一个返回错误,另一个不返回。方程式如下: 1) =Sum(IIF(Fields!Service.Value="Dispatch Only", 0, Fields!Charge.Value)) 2) =Sum(IIF(Fields!Service.Value="DispatchOnly", 0, Fields!Charge.Value)) 请注意,两者之间的唯一区别是,我从我要寻找的字段中取出了一个空间 我想要整个数据集的总和。但是,我还需要知道相同的总和是什么,没
1) =Sum(IIF(Fields!Service.Value="Dispatch Only", 0, Fields!Charge.Value))
2) =Sum(IIF(Fields!Service.Value="DispatchOnly", 0, Fields!Charge.Value))
请注意,两者之间的唯一区别是,我从我要寻找的字段中取出了一个空间
我想要整个数据集的总和。但是,我还需要知道相同的总和是什么,没有“仅分派”值。很明显,等式#2没有产生任何有用的信息(它只是一次求和),但我添加它只是为了证明我没有因为一些非常基本的拼写错误而发疯,比如逗号不合适
我对方程1有什么错
这通常发生在对不同的数据类型应用聚合时,除非有
IIf
语句,否则不太可能获得聚合,如示例中所示
您可能在Charge
和0(即Charge
的基础数据类型和整数0)之间得到不匹配
要解决此问题,请确保0的数据类型与Charge
相同,即根据需要使用类似CDec(0)
或CDbl(0)
的数据类型
另一个考虑的选项是使用<代码> No.<代码>代替0——通过使用SSRNULL值避免任何数据类型冲突,但如果没有匹配的仅调度行,则返回“<代码>没有< /代码>的缺点。< /P> <代码> Bug < /代码>的基础数据类型是什么?您可能会发现它与
0
(即整数)不匹配。尝试将0
替换为CDec(0)
、CDbl(0)
或Nothing
,以尝试解决问题。如果将数据集的名称作为第二个参数添加到Sum函数中,会发生什么情况,如:=Sum(IIF(Fields!Service.Value=“Dispatch Only”,0,Fields!Charge.Value),“DataSet1”)
Ian:就是这样。。。是小数点。请留下一个真实的答案,这样我就可以标记为答案,并给你信用。太棒了,谢谢你的更新。。。作为答案添加。99%的人确信这是问题所在,但如果没有你的数据,很难复制,因此最初将其作为评论发布。