sql数据源获取的数组浮动方法

1458
0

Bryce 小试身手Lv3

发表于2022-7-7 14:18

楼主
本帖最后由 Bryce 于 2022-7-7 14:37 编辑

       如果我们在表格中输入一个数组作为浮动表元,那么计算后可以自动根据数组的内容进行浮动,但是如果这个数组是通过sql数据源取来的,那么就不会有这种浮动效果,如下图展示,这是因为这种计算是基于内存的,不是sql,那么如果想要让sql数据源取来的数组浮动,该如何实现呢?
计算后——>
      其实我们可以想办法让他转化一下,这里提供一种思路,有其他简单的办法也欢迎评论区一起讨论~

一维数组
      我们知道字符串可以通过split函数返回一个数组,那我们先将sql取来的数组转换成一种split函数可以作用的格式,如下图所示,首先利用REPLACEREGEX函数将['1','2','3']转化为字符串1,2,3,表达式为:REPLACEREGEX(REPLACEREGEX(REPLACEREGEX(GRID2.A1,"\[","",true),"\]","",true),"'","",true),一些特殊字符要在分隔字符参数值前面加转义符"\"。

转化成功后加上.split(","),再加上浮动,效果就实现啦


二维数组
      二维数组的处理跟一维数组也很相似,表达式为:REPLACEREGEX(REPLACEREGEX(REPLACEREGEX(REPLACEREGEX(REPLACEREGEX(GRID4.A1,"\[\[","",true),"\]\]","",true)"\[","",true),"]","",true),":",",",true),虽然表达式看着长,但是其实都是很简单的替换,转化如下图所示

     这样转化了之后如何取到想要的数据呢,如果单纯加一个.split(","),会浮动出12层来,并不是我们想要的效果,我们希望后面有两列,一列浮动出x的值,一列浮动出y的值,所以我们可以在.split(",")的后面再加一个.split(4),分隔成一个二维数组,这里参数根据需求有改变,这样就浮动出来三个数组,分组后如下图所示。

接下来我们只需要用.getcol()函数取数就可以啦

最近看过此主题的会员

zhaolj

hee

esen_4ZUG4JEQ87

0个回答

只看楼主

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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