覆盖系统内置算子(如自定义同环比)
有些情况下,同比/环比这种算法在各公司是要重新定义的。本系统提供了一种覆盖本系统默认算子方法。
注:此方法需要进入服务器后台才可以完成。
QuickStart
- 在项目文件夹中,创建文件夹funcderitions
- 创建index.js文件,作为需要覆盖的算子的目录文件。里面的内容暂时不填。
- 创建某个算子的覆盖js文件,文件名可以自定义。
举例:如果想要覆盖同比,则建立一个名为yoy.js的文件。但其实文件名不做要求,看得懂即可。
文件内容是一个字典,里面要定义两个函数: useCustomFunc和run,整个文件的样式和各自函数的解释如下:
export default {
useCustomFunc: (lf, { moment }) => {
// 可以根据logicform来判断是否要覆盖掉系统内置的算法。
// 返回true/false
return true;
},
run: async (lf, _self, config, { execute, commonLib, moment }) => {
// 计算函数
// 返回的格式和自定义指标的一样
return [{'_id': '0', [lf.preds[0].name]: 100}];
},
setColumnProperty: async (property, {moment}) => {
// 主要用来给前端显示一些说明
property.description = '对比日期: xxx~xxxx';
}
};
- 在index.js中引入此文件
index.js写法如下:
import yoy from './yoy.js';
// 返回一个字典,其中,字典的key值一定要是所要覆盖的operator的值
export default {
'$yoy': yoy,
};
- 重启系统即可生效