首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel -VBA+API -添加列并从日常API中获得历史数据的最佳性能解决方案

Excel -VBA+API -添加列并从日常API中获得历史数据的最佳性能解决方案
EN

Stack Overflow用户
提问于 2020-01-17 09:59:46
回答 1查看 87关注 0票数 0

这是一个总体问题,这意味着我想讨论解决问题的最佳方法,而不是对代码进行技术性研究。

这是我想要建立的东西的描述。

实际情况

使用问题跟踪器,我调用API并从跟踪器查询中获取所有数据。IE,在redmine或JIRA中,我创建一个查询,保存它,然后通过API将数据导入到工作表中。现在可以了,我创建了信息图形和仪表板,每30分钟更新一次。很流畅。

演化

API中的数据保存在一个称为" data“的工作表中。有一个字段,称为"% day“,它至少在一天的每一天结束时都会发生变化。当API更新查询时,“数据”工作表中的字段将被正确更新。

我需要的是一个工作表,在这个或另一个查询(这没有什么区别)中,我有这样的模型:

代码语言:javascript
复制
+---------+------------+
| issue # | 20/01/2020 |
+---------+------------+
|   23415 | 10%        |
+---------+------------+

当API更新数据时,如果日期是新的一天,下面是发生的情况:

代码语言:javascript
复制
+---------+------------+------------+
| issue # | 20/01/2020 | 21/01/2020 |
+---------+------------+------------+
|   23415 | 10%        | 20%        |
+---------+------------+------------+

很明显,如果% if没有变化,那么第三天我就会有一个表:

代码语言:javascript
复制
+---------+------------+------------+------------+
| issue # | 20/01/2020 | 21/01/2020 | 22/01/2020 |
+---------+------------+------------+------------+
|   23415 | 10%        | 20%        | 20%        |
+---------+------------+------------+------------+

日期是今天(),因为API每天被调用一次,并写入标头单元格中。% to每天都会被重新加载,我想说的是,最有效的方式是让所有的20k记录都被更新,每次调用都有20k行。

对于如何取得最好的效果,有何建议,更多的是在“建筑”方面?

谢谢大家,如果你们需要更多的信息,就问吧。

CG。

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 11:40:32

每次VBA调用Excel来获取数据时,都会产生很大的开销,而每次VBA调用Excel将数据放到工作表上时,开销就会更大。因此,最有效的方法是通过最大化每个呼叫中传输的数据量来最小化呼叫的数量。

实际上,这意味着使用数组读取尽可能大的数据块,并将从API中检索到的内容缓存到数组中,然后尽可能频繁地将数组写回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59785059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档