【发布时间】:2017-08-17 15:57:50
【问题描述】:
我正在尝试在 SSRS 中编写一个嵌套的 iif 语句,它将数字(isnumeric)的 varchar 值转换为整数并保持文本不变。我还想确定单元格中的值是否为“0”,它将返回空白或“”。请参阅下面我使用的代码。任何关于为什么非数字文本显示为 #Error 的见解将不胜感激。谢谢!
=iif(
Fields!O1_Parent_Line_Item_ID.Value is "0", "", iif(ISNUMERIC(Fields!O1_Parent_Line_Item_ID.Value), CInt(Fields!O1_Parent_Line_Item_ID.Value), Fields!O1_Parent_Line_Item_ID.Value))
【问题讨论】:
-
我认为
is的第一个条件是错误的。将此Fields!O1_Parent_Line_Item_ID.Value is "0", ""更改为InStr(Fields!O1_Parent_Line_Item_ID.Value,"0") > 0, "" -
感谢您的评论 WEI_DBA。这有助于我澄清我不是在字符串中寻找“0”值以将整个字段返回为空白,但只有当“0”是单元格中的唯一值时才应返回空白。我希望这有助于澄清请求。
-
你需要检查
ISNUMERIC是否返回true,所以...ISNUMERIC(Fields!O1_Parent_Line_Item_ID.Value) = 1... -
感谢 bjones,但我仍然收到关于空白值的 #error。
-
您能否展示示例数据以及您对
IIF声明的条件的期望?
标签: sql reporting-services visual-studio-2015 type-conversion conditional-operator