首页 > 解决方案 > SSRS 表达式在替换括号“(”“)”时显示#Error

问题描述

我正在写一个表达式来替换子字符串。

我正在使用 FetchXML 为 Microsoft Dynamics 365 开发 SSRS 报告。我在报告上有一个网格显示记录的相关行。

我必须删除括号内的所有内容。

我写了一个表达式,如果值包含括号,但当值不包含括号时效果很好。

=IIF(InStr(Fields!deal_name.Value, "(") = 0, Fields!deal_name.Value, Replace(Fields!deal_name.Value,Mid(Fields!deal_name.Value,InStr(Fields!deal_name.Value, "("),InStr(Fields!deal_name.Value, ")")),""))

原始值: 在此处输入图像描述

表达结果后: 在此处输入图像描述

标签: sqlreporting-servicesssrs-2008dynamics-crmssrs-2012

解决方案


错误是因为 Iif 评估所有表达式,即使为 false

您可以使用正则表达式替换

=  System.Text.RegularExpressions.Regex.Replace(Fields!deal_name.Value , "[(].*[)]", "")

推荐阅读