-
1505121235 数据老手Lv5
发表于2019-12-13 19:11
楼主
本帖最后由 1505121235 于 2019-12-13 19:18 编辑
需求场景:如下图所示,数据库中BN字段是CLOB类型,转换为字符串才能看见所存的内容,现在想以|为分隔符分别取编号,名称和日期/批次号,该如何处理呢?
报表设计:
取最后一项日期/批次号的表元表达式:self.leftcell.value.split("\,").select(true,@.split("\|")[-1]).join(",")表达式解析:
self.leftcell.value.split("\,")是将字段转换为数组格式
,self.leftcell.value.split("\,").select(true,@.split("\|")[-1])返回二维数组的格式
,-1则是取最后一个元素,最后self.leftcell.value.split("\,").select(true,@.split("\|")[-1]).join(",")是将每一项数组元素以字符串形式返回
实现效果:
不得不说,BI中的数组对象真的很强大,各种复杂需求只要您善于使用数组进行分析,许多问题迎刃而解,数组对象具体可参考http://bbs.esensoft.com/thread-133624-1-1.html,快来练个手吧!
需求场景:如下图所示,数据库中BN字段是CLOB类型,转换为字符串才能看见所存的内容,现在想以|为分隔符分别取编号,名称和日期/批次号,该如何处理呢?
报表设计:
取最后一项日期/批次号的表元表达式:self.leftcell.value.split("\,").select(true,@.split("\|")[-1]).join(",")表达式解析:
self.leftcell.value.split("\,")是将字段转换为数组格式
实现效果:
不得不说,BI中的数组对象真的很强大,各种复杂需求只要您善于使用数组进行分析,许多问题迎刃而解,数组对象具体可参考http://bbs.esensoft.com/thread-133624-1-1.html,快来练个手吧!
1个回答
-
1505121235 数据老手Lv5
沙发
本帖最后由 1505121235 于 2019-12-24 14:04 编辑
一个字段存了几个需要单独拿出来分析的指标,但是分隔符不止一个该如何转义?如下图分隔符为^&*
self.leftcell.value.split('\^&\*')[0],此时需要两个转义符\将特殊符号进行转义