我的报告中有一张表格如下:
UserCode|RecordID|OriginatingBranch|OriginatingAccount|HomingBranch|HomingAccount|Amount|ActionDate|SeqNo|Onus|Homedback
最后两列是布尔值,它们包含Y或N.实际上,Onus列只包含Y.我需要在每个页面末尾有一个小计,显示有多少Onus交易及其价值,以及Onus交易的相同。
我尝试了几件事情,包括here所描述的所有事情,但当我尝试时,我的报告中留下了一个不起眼的#Error
。我没有错误或日志或任何内容,只有#Error
我应该有一个号码。
现在我正在尝试here的答案,其中说:
添加其他列并输入以下表达式:= Runningvalue(Fields!YourValue.Value,Sum,“yourtable1”),并将其hidden属性设置为true。
- 醇>
在页眉或页脚中,使用表达式:= Last(ReportItems!textbox12.Value)来获取所有先前页面的小计。(假设上面列的详细信息行是textbox12)
我把它放在我的桌子上,这是我的表达:
=RunningValue(IIF(Fields!HomedBack.Value="Y", Fields!Amount2.Value, 0),Sum,"Items")
//my tablix is called "Items" and my "Amount" field is a formatted string,
//the actual value is kept in "Amount2"
瞧,我再次得到了着名的#Error
。我的第一行包含0,之后的每一行都包含#Error
。
我应该注意到,我没有在浏览器中查看报告,也没有以交互方式或类似的方式查看报告,我正在使用我公司的旧报告库,这个报告很糟糕,需要重写(我希望),而且几乎就是这样获取数据集和RDLC并将其吐出为PDF。
我的表情有什么明显的错误吗?我对RDLC很新,所以我觉得我错过了一些愚蠢的东西。还有什么方法可以准确显示这些#Error
实际上意味着什么或对应什么?
另外一点,我在VS2013中设计了我的RDLC,如果这有任何区别的话。
答案 0 :(得分:1)
由于数据类型不匹配,SSRS可以提供#Error
。它可能正在将Amount2评估为字符串字段而不是数字。要避免此类情况,请执行显式转换。
试试这个:
=RunningValue(IIF(Fields!HomedBack.Value="Y", Fields!Amount2.Value*1.0, 0.0),Sum,"Items")
OR
=RunningValue(IIF(Fields!HomedBack.Value="Y", CDBL(Fields!Amount2.Value), 0.0),Sum,"Items")
OR
=RunningValue(IIF(Fields!HomedBack.Value="Y", CDEC(Fields!Amount2.Value), 0),Sum,"Items")