SSRS表达式在替换方括号“(”“)”时显示#Error

时间:2018-07-26 06:31:41

标签: sql reporting-services ssrs-2008 dynamics-crm ssrs-2012

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

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

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

我已经写了一个表达式,如果value包含方括号,则工作正常,但如果value不包含方括号,则不会。

=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, ")")),""))

原始值: enter image description here

表达式结果后: enter image description here

1 个答案:

答案 0 :(得分:1)

错误是因为Iif会计算所有表达式,即使为false

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

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