Skip to main content

覆盖系统内置算子(如自定义同环比)

有些情况下,同比/环比这种算法在各公司是要重新定义的。本系统提供了一种覆盖本系统默认算子方法。

注:此方法需要进入服务器后台才可以完成。

QuickStart

  1. 在项目文件夹中,创建文件夹funcderitions
  2. 创建index.js文件,作为需要覆盖的算子的目录文件。里面的内容暂时不填。
  3. 创建某个算子的覆盖js文件,文件名可以自定义。

举例:如果想要覆盖同比,则建立一个名为yoy.js的文件。但其实文件名不做要求,看得懂即可。

文件内容是一个字典,里面要定义两个函数: useCustomFuncrun,整个文件的样式和各自函数的解释如下:

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';
}
};

  1. 在index.js中引入此文件

index.js写法如下:

import yoy from './yoy.js';

// 返回一个字典,其中,字典的key值一定要是所要覆盖的operator的值
export default {
'$yoy': yoy,
};
  1. 重启系统即可生效