【发布时间】:2016-01-15 17:27:25
【问题描述】:
我有一个Tablix,我在其中对总数进行分组。但是,我的列数据有时可以是 string、int、decimal 等......这取决于调用的存储过程。注意:这是一个动态过程。
设置 DataTable 值
var queryResult = typeof(MethodsToRdlc).GetMethod(conf.SelectMethod).Invoke(new MethodsToRdlc(), new object[] { });
DataTable result = queryResult.ToDataTable();
所以,当数据是 decimal 或 int 或 其他数值类型 时,我想在我的 Total 中汇总所有数据。为此,我有这个可爱的表达方式:
总表达
=Replace(Format(Sum(CDbl(Replace(Fields!DataColumn8.Value, ",", "."))), "F"), ".", ",")
但是,当数据类型不是数字时,我会收到 #Error。如何将 #Error 替换为空字符串(例如)?
我已经尝试过了:
=IIf(IsNumeric(Fields!DataColumn8.Value), Replace(Format(Sum(CDbl(Replace(Fields!DataColumn8.Value, ",", "."))), "F"), ".", ","), "")
还有这个
=IIf(IsNumeric(Replace(Fields!DataColumn8.Value, ",", ".")), Replace(Format(Sum(CDbl(Replace(Fields!DataColumn8.Value, ",", "."))), "F"), ".", ","), "")
还有这个
=IIf(CDbl(Fields!DataColumn8.Value) = 0, "", Replace(Format(Sum(CDbl(Replace(Fields!DataColumn8.Value, ",", "."))), "F"), ".", ","), "")
还有这个
=IIf(CDbl(Replace(Fields!DataColumn8.Value, ",", ".")) = 0, "", Replace(Format(Sum(CDbl(Replace(Fields!DataColumn8.Value, ",", "."))), "F"), ".", ","), "")
还有这个
=IIf(IsNothing(IsNumeric(Replace(Fields!DataColumn8.Value, ",", "."))), "", Replace(Format(Sum(CDbl(Replace(Fields!DataColumn8.Value, ",", "."))), "F"), ".", ","))
没有任何效果...总是显示 #Error。
【问题讨论】:
标签: reporting-services report reporting rdlc dynamic-reports