对象表达式+数组应用实例--维ID字符串转名称显示

4059
2

yangqh 数据老手Lv5

发表于2019-1-26 15:12

楼主
本帖最后由 yangqh 于 2019-1-26 15:24 编辑

需求场景:
做表时可能会遇到这样的数据存储情况,数据库表字段中存的是多个维ID组成的一个字符串,比如下图中GS字段是存的多个公司ID以逗号连接的字符串的形式:
公司维表如下:
而分析表的公司列中需要显示成公司名称以分号连接的格式,即:
0102,0202 =》北京2分店;湖北2分店
那么分析表上如何做呢?


实现方法:
比如原表样是这样:
首先,后面新增一列“公司名称”,表元表达式为:
self.leftcell.value.split(",").select(true, diminf("公司",@)).join(" ; ")
公式解析:
1、self.leftcell.value表示取本表元的左边一个表元的值,即返回左边“公司ID”列的值,比如’0101,0103,0104,0201,0203,0204’;
2、split(",")表示把字符串按照‘,’分解成数组的每一项,比如
[‘0101’,’0103’,’0104’,’0201’,’0203’,’0204’];
3、.select(true, diminf("公司",@))表示将数组中的每一项用diminf返回name值,组成一个新数组,@表示数组中的每一项;
4、.join(" ; ")表示将新数组中的每一项用‘;’连接。


然后,在公司ID列上设置隐藏,就大功告成啦~

最近看过此主题的会员

tanxzh

lizf

hhdtest

Yuuuu

156

秋水墨色染

jonie

wxw

zhaolj

esen_4PK37FE9K1

13249159784

15110830390

dubq

2个回答

只看楼主

Shirley 小试身手Lv3

发表于2019-1-26 17:59

只看该作者

取消 关注该作者的回复

沙发

小亿 管理员

发表于2019-2-18 10:40

只看该作者

取消 关注该作者的回复

板凳

感谢分享,学习了~

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号