bz:提供给产品支持及有报表开发能力的老师自取, 配合bug使用更佳~
如果你对报表的自动计算触发机制感到困惑,请一定阅读
开始
首先'一'句话描述报表自动计算:
自动计算受 分页组件(paging),立即计算(immediately)参数,自动重算阈值(auto_recalc_time) 三个参数影响, 报表切换过滤条件或页码时,默认只有计算历史结果过期1周以上的才会重新强制计算, 其他情况受immediately,auto_recalc_time控制是否强制计算。
听着迷糊, 继续往下阅读全文~
以报表仓库的 'RPT01-通用人员花名册分析表' 举例,看一下它的元数据结构 (以下简称花名册表)
本地或者找个inspur的测试环境, 报表仓库一拉即可~
{
"data":[略],
"filter":[略],
"paging":true
}
很明显的看出来花名册表默认只定义了3个东西:数据源、过滤器、使用分页组件。
那么我们可以对本次的实验报表进行如下验证: 报表切换过滤条件或页码时,默认只有计算历史结果过期1周以上的才会重新‘强制计算’
我们在8月和7月之间(:你喜欢加上6月也可以) 来回切换,发现除了第一次切到8月或7月会自动计算以外,报表不会 再重算了,会沿用刚刚或者比较近(7天内)的结果
ok,经过上述操作你已经了解默认的计算逻辑了
阅读全文还差1步
{
"data":[略],
"filter":[略],
"paging":true,
"auto_recalc_time":60
}
auto_recalc_time: 自动重算阈值,单位(秒) 切换paging或filter时,如果上次计算已经过了我们设置的60秒那么久了~,我们认为数据已经脏了~,重算之
(上面说了默认是7天吧~,其实部分业务数据甚至可以改成一个月)
依然so easy
最后一步
{
"data":[略],
"filter":[略],
"paging":true,
"auto_recalc_time":60,
"immediately":true
}
多了它 immediately: 初次加载,刷新浏览器,切换过滤条件,切换分页,总之,统统强制重算 这个参数意味着, 不再理会7天限制,不再理会任何历史计算结果(哪怕是上一秒), 统统强制重算! 现在你可以在你的花名册表中加上他,进行一番验证先~
soeasy~
你已经彻底弄懂分析报表的自动计算逻辑,