SQL Server 2019 SSRS报表3个money类型字段显示#Error求助
SSRS报表Money字段显示#Error问题排查方向
针对SQL Server 2019环境下SSRS报表中3个money类型字段显示#Error的问题,以下是具体排查方向:
检查数据集字段类型映射:右键数据集进入数据集属性→字段选项卡,确认这三个字段的数据类型是否被SSRS正确识别为Decimal或Currency类型。若SSRS错误将SQL的money类型映射为其他类型(如字符串),会导致
First()函数解析失败。调整表达式写法:
- 若数据集仅返回单条记录,直接使用
=Fields!Balance.Value替代=First(Fields!Balance, "DataSet1"); - 若需聚合多条记录,改用
=Sum(Fields!Balance.Value),避免First()函数在类型转换时触发异常。
- 若数据集仅返回单条记录,直接使用
添加错误捕获测试:修改表达式加入错误处理,比如
=IIF(IsError(First(Fields!Balance, "DataSet1")), 0, First(Fields!Balance, "DataSet1")),或临时转换为字符串=CStr(First(Fields!Balance, "DataSet1")),以此判断是显示格式问题还是数据读取异常。修正查询字段类型:在数据集查询中显式转换字段类型,例如
CAST(Balance AS DECIMAL(18,2)) AS Balance,再刷新数据集重新预览,排查是否为SSRS对原生money类型的解析问题。确认报表版本兼容性:查看报表属性→常规→目标服务器版本,确保与SQL Server 2019一致,版本不兼容可能引发类型解析错误。
彻底清理缓存:除删除
.rdl.data文件外,点击Visual Studio的报表菜单→清除报表缓存,或重启Visual Studio后重新测试。
内容的提问来源于stack exchange,提问作者DMAC
相关产品推荐
相关产品推荐

