我的SSRS报告其中一个字段正在使用此表达式,其中字段是数字字段。我想看空白字段是值 0
。
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value ,"")
Excel导出版本将此字段视为文本而非数字。
从SSRS方面有没有其他方法可以做到这一点?
我的SSRS报告其中一个字段正在使用此表达式,其中字段是数字字段。我想看空白字段是值 0
。
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value ,"")
Excel导出版本将此字段视为文本而非数字。
从SSRS方面有没有其他方法可以做到这一点?
我有这个问题。有些单元格是文本和其他数字 - 都具有相同的格式字符串。分辨率是将您的单元格表达式乘以1.000(1不起作用!) - 这会强制SSRS将单元格格式化为数字。例如; (你的表达方式)* 1.000
我有这个问题。有些单元格是文本和其他数字 - 都具有相同的格式字符串。分辨率是将您的单元格表达式乘以1.000(1不起作用!) - 这会强制SSRS将单元格格式化为数字。例如; (你的表达方式)* 1.000
Excel将此字段识别为文本,因为只要字段为0,您就输出一个空字符串。
你可以尝试这个,输出一个空值而不是一个空字符串:
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value, Nothing)
但是,这并不能保证工作,因为我似乎记得Excel假定该字段是第一个数据行中的任何类型。
我在excel导出中遇到了这个问题,并用整数的CLng和小数的CDbl函数解决了它。
= CLng函数(领域!Qty.Value)
这可以保证excel单元格是数字的并且比Fields更清晰!Qty.Value * 1.000
问题是你的IIF语句以空结束 串,“”。如果将其更改为零,它将按预期工作:
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value, 0)
代替...
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value, "")
以下是针对3种不同毛刺的3种不同解决方案:
价值1
1234
空白细胞
1234
解决方案2
=IIF(IsNumeric(Fields!TEST.Value.ToString()), CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()), Fields!TEST.Value.ToString(), "0")), " ")
价值2
1234
空值
345
空值
解决方案2
=IIF(IsNumeric(Fields!TEST.Value.ToString()), CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()), Fields!TEST.Value.ToString(), "0")), "NULL")
价值3
1234
空值
345
N / A
550
TBA
440
599
不 适用
解决方案3
=IIF(IsNumeric(Fields!TEST.Value.ToString()), CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()), Fields!TEST.Value.ToString(), "0")), Fields!TEST.Value.ToString()),