繁体   English   中英

在 SSRS 中查找子字符串并评估或替换

[英]Find Sub string in SSRS and evaluate or replace

在 SSRS 中,我有一个名为Event_dt数据字段,它以Digital Event_dt返回,然后是月份,然后是年份。 它看起来像这个Digital January 2021Digital May 2019

问题 1:在一个字段中 - 我需要截断Digital这个词,以便字符串只能读取January 2021 May 2019 January 2021May 2019 January 2021 May 2019

问题 2:在我需要评估的第二个字符串中,如果Event_dt字符串包含单词Digital那么它应该输出其他内容。 我知道 iff(part ... 但我不确定如何在 SSRS 中获取子字符串部分。

对于第一季度,更换相当简单。 使用 REPLACE 函数并用空字符串替换Digital 不要忘记Digital之后的空格。

=Replace(Fields!Event_dt.Value, "Digital ", "")

对于 Q2,您没有说明要如何替换文本。 要检查该字段是否具有某个字符串,您可以使用InStr函数。 它返回要在字符串中找到的字符串的起始位置。 如果它没有在您的字段中找到该字符串,它将返回0 (如果您只需要确定它是否在那里而不是在何处,则检查 0 不是 0)。

=IIF(InStr(Fields!Event_dt.Value, "Digital") > 0, <Has String Part>, <ELSE Part>)

在 SSRS 中,MID 函数与 SUBSTRING 相同 - 它返回从第一个参数中指示的起始点开始的字符以及第二个参数中要返回的字符数。

你实际上可以用这个写 REPLACE - 尽管它会更复杂。

=IIF(InStr(Fields!Event_dt.Value, "Digital") > 0, MID(Fields!Event_dt.Value, 9, LEN(Fields!Event_dt.Value)), Fields!Event_dt.Value)

这将读作

如果 EVENT DT 包含 Digital(即从 INSTR 返回的值大于 0),则返回从字符 9 到字符串末尾的 EVENT DT 字段,否则返回 EVENT DT 字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM