-
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列上设置隐藏,就大功告成啦~