仅从文本和数字字段读取数字

2020-09-18 01:48发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我有一个包含文本和数字的字段,我只需要从中检索数字。

示例:

PlaceIndex

smr2003

smr2004

smr2005

我需要按范围提取位置索引。

示例:

通过忽略数字前面的文本来将{Place.PlaceIndex}从" 2000"更改为" 2999"。

有什么主意吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我有一个包含文本和数字的字段,我只需要从中检索数字。

示例:

PlaceIndex

smr2003

smr2004

smr2005

我需要按范围提取位置索引。

示例:

通过忽略数字前面的文本来将{Place.PlaceIndex}从" 2000"更改为" 2999"。

有什么主意吗?

付费偷看设置
发送
3条回答
樱桃小丸子0093
1楼-- · 2020-09-18 02:12

嗨,

字符串是否始终在数字前包含文本" smr"?

您是否在记录选择公式中使用它?

-阿比拉什

追夢秋陽
2楼-- · 2020-09-18 02:01

嗨,

如果您只想接收数字,我建议您使用函数在数据端进行转换,因为这将比在报表端进行转换更强大,因为报表端的转换可能比数据库端慢。

如果数据长度是固定的,则可以使用右函数或子字符串函数将数字存储在变量中。

 right({Place.PlaceIndex},4)

这将从右边删除4个聊天,因此

 right('ASBC2009',4)将返回2009。

现在,您可以探测结果是否为数字。 您可以为此使用isnumeric函数。

最后,公式将类似于

 IsNumeric(right({Place.PlaceIndex},4))和(toNumber(right({Place.PlaceIndex,4))> = 2000 and toNumber(right({Place.PlaceIndex},4))<2100)  

现在,您需要将此公式记录到设计器中的记录选择公式中。 变量处理从左到右进行,因此如果第一个条件评估为false,则该公式的其余部分将不被处理。

此致

Janos

浮生未央
3楼-- · 2020-09-18 02:18

如果数字始终为最后4个字符,则可以使用晶体公式

tonumber(right({Place.PlaceIndex},4),0,"")

如果不总是4个字符,则会失败

伊恩

一周热门 更多>