1. 概述
1.1 应用场景
了解 FineBI 的更新逻辑。
1.2 子表和父表概念
当「A表」是使用「B表」和「C表」的数据制作的,那么「B表」和「C表」就是「A表」的父表。
用户可以在血缘分析中清楚的查看到子表与父表的关系,详情请参看:血缘分析
2. 基本更新逻辑
全局更新时:
所有选择「跟随全局更新」的文件夹会进行更新;
所有选择「跟随文件夹更新(一直全量/首次全量此后增量)」的基础表会进行更新;
所有选择「跟随父表更新」的子数据集进行更新;
所有受数据集更新影响的关联进行更新;
更新依赖逻辑(更新顺序):
最先更新基础表;
建立关联的两张表数据更新完成后,才会更新两张表之间的关联关系;
等子数据集使用的父表及父表之间的关联更新完成后,才会更新子表;
3. 其他更新逻辑
3.1 单独更新子表拉起逻辑
1)更新子表时,检查该子表的所有直接父表。若检查到父表需要更新,则自动将父表加入更新列表中;
2)系统会再次检查父表的父表是否需要更新,以此类推......
3)父表更新时,不会拉起其他子表进行更新,但会拉起父表所有的关联进行更新;
4)父表加关联数量默认最多被拉起 30 个。可通过参数 SystemOptimizationConfig.maxUpsFatherNum 在可视化配置插件修改限制数量,操作方式可参见:FINE_CONF_ENTITY可视化配置
3.2 单独更新关联
用户在关联设置 中单独更新关联时:
若建立关联的两张表中,有表从未进行过更新。这时候单独更新关联时,系统会自动将未更新的表加入更新列表中;
对拉起更新的表进行子表拉父表的检查(即 3.1 节子表拉起逻辑)
3.3 Excel 被拉起更新逻辑
全局更新或业务包更新时:
当需要计算的参数有变更,就会自动拉起 Excel 的更新,执行 Excel 文件的重新更新抽取;
需要计算的参数包括:周开始于、数据类型识别、中文排序
当 Excel 的缓存文件即(T_xxxxx)不存在时,会拉起 Excel 的更新,执行 Excel 文件本身的重新更新抽取;
会拉起所有未进行更新的 Excel 的子表进行更新,而 Excel 本身不会重新更新抽取;若 Excel 的子表更新过,则不会被拉起更新。