sql - 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, ")")),""))
解决方案
错误是因为 Iif 评估所有表达式,即使为 false
您可以使用正则表达式替换
= System.Text.RegularExpressions.Regex.Replace(Fields!deal_name.Value , "[(].*[)]", "")
推荐阅读
- c# - 列表追加正在用最新值覆盖以前的值
- java - org.json.JSONArray 到 Mulesoft 中的有效负载
- matlab - 如何使用matlab为失焦模糊生成PSF?
- c# - 复杂 Xamarin Forms 自定义控件中的内容
- django - 我如何在 django 中闪烁消息?
- ajax - Ajax 加载部分的 ModelState.AddModelError
- python - python数据框作为函数输入并获取另一个具有新名称的数据框作为输出
- python - 如何从数据框中选择一系列数据?
- r - 在 R 上安装 factoextra 时出错 - 无法删除以前安装的 rlang
- python - 突出显示两条线之间所有可能的最近距离