Spotfire根据输入多行数据按需加载

文章介绍了在Spotfire中如何处理多行数据进行按需加载。首先,可以通过将输入的多行数据转换成表,然后根据表加载数据,但受到5000行的限制。其次,利用“列表属性”和“输入字段(多行)”的文档属性,结合IronPython脚本,可以突破行数限制,实现超过5000行的按需加载。这种方法适用于大数量数据的加载,但需要注意数据编辑时的限制。
摘要由CSDN通过智能技术生成

1. 将输入的多行数据生成表,再根据表按需加载

Spotfire要根据多个值按需加载,可以选择根据现有表的某一列数据按需,因此,可以将输入的多行数据先转换成表(方法参考Spotfire将输入数据生成表_jogarys的博客-CSDN博客),再根据转换成的表按需加载即可。

但输入数据有个限制:每次输入的行数上限在5000行左右,超过5000行的话要选择增加数据的方式分多次输入。

2. 直接根据文档属性(字符串列表),实现多行按需加载

如果直接使用“输入字段(多行)”所对应的文档属性来按需加载,会发现系统会把这个属性的值当成一个值来处理,没有将其视为多行数据再按需加载。

Spotfire中还有一种文档属性是“列表属性”,将输入的字段值存储到“列表属性”中,使用“列表属性”来按需加载即可实现需求。“列表属性”怎么使用呢?要借助属性控件“列表框(多个选择)”来建立:

 建立好glassids的列表属性后,这个属性控件就可以删除了(建立好的列表属性glassids还在),然后再把“输入字段(多行)”所对应的文档属性(假设叫glassidin)通过IronPython脚本拆分为列表后,赋值给glassids,再用glassids按需加载即可,脚本如下:

Document.Properties['glassids'] = Document.Properties['glassidin'].strip('\n').split('\n')
Document.Properties['glassnum'] = 0 if Document.Properties['glassidin'].strip('\n') == '' else len(Document.Properties['glassids'])

其中glassnum为统计输入了多少行数据的属性,不需要的话可以删除第二行脚本。

效果如下,这种方式没有一次5000行的限制,已测试过一次输入100万行数据可以按需成功。但输入以后,文本输入框里显示的数据会截断,只显示前5000行左右的数据,因此如果要编辑输入数据的话,不能在文本输入框里直接修改(少于5000行可以直接修改),需将原始数据在其他地方编辑好重新粘贴过来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值