SSRS中如何将长字符串值拆分至两个独立文本框?
SSRS 金额英文单词拆分方案
你之前用Split()函数时未指定分隔符,默认按单个空格拆分,因此只能拿到第一个单词。要拆分出"thousand"前后的两部分,需基于thousand这个特定分隔符处理:
第一个文本框(取
five hundred twenty-five thousand部分)表达式:=Left(First(Fields!Moneyword.Value, "OfficialReceipts"), InStr(First(Fields!Moneyword.Value, "OfficialReceipts"), " thousand ") + Len(" thousand ") - 1)逻辑:用
InStr()定位thousand的起始位置,再通过Left()截取从开头到该位置加上thousand长度的内容,确保包含"thousand"本身。第二个文本框(取
four hundred eighty-five部分)表达式:=Mid(First(Fields!Moneyword.Value, "OfficialReceipts"), InStr(First(Fields!Moneyword.Value, "OfficialReceipts"), " thousand ") + Len(" thousand "))逻辑:用
Mid()从thousand结束的位置开始截取,拿到后续所有内容。
兼容金额小于一千的场景
如果存在金额不足一千(不含"thousand")的情况,可添加判断避免出错:
- 第一个文本框优化表达式:
=IIF(InStr(First(Fields!Moneyword.Value, "OfficialReceipts"), " thousand ") > 0, Left(First(Fields!Moneyword.Value, "OfficialReceipts"), InStr(First(Fields!Moneyword.Value, "OfficialReceipts"), " thousand ") + Len(" thousand ") - 1), "") - 第二个文本框优化表达式:
=IIF(InStr(First(Fields!Moneyword.Value, "OfficialReceipts"), " thousand ") > 0, Mid(First(Fields!Moneyword.Value, "OfficialReceipts"), InStr(First(Fields!Moneyword.Value, "OfficialReceipts"), " thousand ") + Len(" thousand ")), First(Fields!Moneyword.Value, "OfficialReceipts"))
内容的提问来源于stack exchange,提问作者Rhatz
相关产品推荐
相关产品推荐

