这是一个总体问题,这意味着我想讨论解决问题的最佳方法,而不是对代码进行技术性研究。
这是我想要建立的东西的描述。
实际情况
使用问题跟踪器,我调用API并从跟踪器查询中获取所有数据。IE,在redmine或JIRA中,我创建一个查询,保存它,然后通过API将数据导入到工作表中。现在可以了,我创建了信息图形和仪表板,每30分钟更新一次。很流畅。
演化
API中的数据保存在一个称为" data“的工作表中。有一个字段,称为"% day“,它至少在一天的每一天结束时都会发生变化。当API更新查询时,“数据”工作表中的字段将被正确更新。
我需要的是一个工作表,在这个或另一个查询(这没有什么区别)中,我有这样的模型:
+---------+------------+
| issue # | 20/01/2020 |
+---------+------------+
| 23415 | 10% |
+---------+------------+当API更新数据时,如果日期是新的一天,下面是发生的情况:
+---------+------------+------------+
| issue # | 20/01/2020 | 21/01/2020 |
+---------+------------+------------+
| 23415 | 10% | 20% |
+---------+------------+------------+很明显,如果% if没有变化,那么第三天我就会有一个表:
+---------+------------+------------+------------+
| issue # | 20/01/2020 | 21/01/2020 | 22/01/2020 |
+---------+------------+------------+------------+
| 23415 | 10% | 20% | 20% |
+---------+------------+------------+------------+日期是今天(),因为API每天被调用一次,并写入标头单元格中。% to每天都会被重新加载,我想说的是,最有效的方式是让所有的20k记录都被更新,每次调用都有20k行。
对于如何取得最好的效果,有何建议,更多的是在“建筑”方面?
谢谢大家,如果你们需要更多的信息,就问吧。
CG。
发布于 2020-01-17 11:40:32
每次VBA调用Excel来获取数据时,都会产生很大的开销,而每次VBA调用Excel将数据放到工作表上时,开销就会更大。因此,最有效的方法是通过最大化每个呼叫中传输的数据量来最小化呼叫的数量。
实际上,这意味着使用数组读取尽可能大的数据块,并将从API中检索到的内容缓存到数组中,然后尽可能频繁地将数组写回。
https://stackoverflow.com/questions/59785059
复制相似问题