1. 概述编辑
1.1 版本
| FineBI 版本 | 功能变动 |
|---|---|
| V6 | - |
| 7.0 V1 | 关联支持预计算 |
1.2 应用场景
对于模型中心添加的指标和维度支持手动加速,对于一些数据量大、计算逻辑复制的字段加快计算速度,提高产品性能,优化用户体验。
常见加速场景:
跨表计算
DEF计算
嵌套计算
2. 功能说明编辑
2.1 功能入口
指标加速
在「指标管理」界面,点击指标,选择指标加速「开启加速」。如下图所示:

维度加速

2.2 预计算逻辑
指标加速:取公式中 最大粒度 的 静态 明细计算指标 进行预计算。
1)静态
不受用户拖拽维度影响,如聚合函数,如 def_add,def_sub 都会基于用户拖拽的维度变化而变化,不属于静态指标
不受过滤组件过滤和组件过滤影响,比如聚合函数、def/def_add/def_sub 在没有 clean(all)的情况下,不属于静态指标/维度
预计算的逻辑是先计算后权限。特殊的行权限的计算会导致所有计算字段都变成动态指标,下面特殊说明:
| 行权限 | 说明 |
|---|---|
| 权限后计算和先计算后权限的区别 | 比如def(sum(销售额)),假设全国总额 1000w,江苏占 500w,超管写好指标之后,江苏看到的是 1000w 就是权限前计算;看到 500w 就是权限后计算 |
| 对预计算的影响 | 所有受行权限影响的指标在指标加速时,按照创建者权限对指标进行预计算 |
2)最大粒度:
由于不是所有的公式都可以 100% 预计算的,尤其是类似 sum_agg((单价*折扣)-系数) 这样的指标,其中 sum_agg 由于是聚合函数不能预计算,但是(单价*折扣)-系数是静态的,因此这部分是可以预计算的;
而最大粒度值将(单价*折扣)-系数=字段X 进行预计算,实时计算 sum_agg(字段X)来尽可能减少原计算指标的实时计算量;
3)明细计算指标:
即落在明细视图的计算,包括a+b,def(sum(a))+b,left(a,4),不包含def(sum(a))这样静态但是是聚合视图的计算。
2.3 注意事项
模型底表为最简表时暂不支持预计算。
直连环境下的指标/维度不支持加速。
2.4 预计算示例场景
| 大类 | 细分案例 | 具体案例 | 预计算部分 | 剩余计算 |
|---|---|---|---|---|
| 指标 | 静态明细指标 | 销售额*折扣 | 销售额*折扣 | 无 |
| def(sum_agg(销售额*折扣),[],[CLEAN("ALL")])+成本 | def(sum_agg(销售额*折扣),[],[CLEAN("ALL")])+成本 | 无 | ||
| 静态聚合指标 | def(sum_agg(销售额*折扣),[],[CLEAN("ALL")]) | 销售额*折扣 | def(sum_agg(字段),[],[CLEAN("ALL")]) | |
| 动态明细指标 | def(sum_agg(销售额))+成本 | 无 | def(sum_agg(销售额))+成本 | |
| 动态聚合指标 | sum_agg(销售额*折扣) | 销售额*折扣 | sum_agg(字段) | |
| def(sum_agg(销售额*折扣)) | 销售额*折扣 | def(sum_agg(字段) | ||
| 维度 | 静态明细维度(单表) | left(合同编号,4) | left(合同编号,4) | 无 |
| year(销售日期) | year(销售日期) | 无 | ||
| if(def(sum_agg(销售额*折扣),clean(all))>100 ,"高",“低”) | if(def(sum_agg(销售额*折扣),clean(all))>100 ,"高",“低”) | 无 | ||
| 静态明细维度(多表) | if def(sum_agg(销售额*折扣),[A,B],[clean(all)])>100 ,"高",“低” | 销售额*折扣 | if def(sum_agg(字段),[A,B],[clean(all)])>100 ,"高",“低” | |
| 动态明细维度 | if def(sum_agg(销售额*折扣))>100 ,"高",“低” | 销售额*折扣 | if def(sum_agg(字段))>100 ,"高",“低” |
DEF()计算相关说明:
DEF()常规计算结果=动态聚合指标
DEF()及其他分析函数+其他明细字段=动态明细指标
DEF()+CLEAN("ALL")=静态聚合指标
DEF()+CLEAN("ALL")+其他明细字段=静态明细指标
3. 操作步骤编辑
3.1 开启加速

3.2 查看加速状态
「提交」后对字段进行加速,数据更新完成后,可查看加速状态。如下图所示:

4. 关联支持加速编辑
在模型中心对多表建立关联后,对表内字段进行跨表分析,「开启加速」并「提交」后会触发更新缓存进行预计算,提高使用字段时的计算效率。

关联缓存更新的最大列数限制:默认200列,可以通过「FINE_CONF_ENTITY可视化配置」插件修改限制列数。
参数说明:
| 参数 | 功能 | 参数值 |
|---|---|---|
| DatacenterOptimizationConfig.maxAccelerateCacheColumns | 关联缓存更新的最大列数限制 | 参数值默认为 200 关联缓存的总列数超过 200 列,会加速失败 |
参数修改建议:
关联缓存更新列数不宜过大,会增加性能负担。

