先睹为快,我们先来看一下如何进行简单的基于四则运算的简单计算指标配置。
访问BIPlatform设计器,进入如下页面:
配置完成之后,点击提交完成配置,之后就可以正常使用你配置的计算指标了。
通过上述简单操作,你就可以完成基于四则运算的计算指标配置。
除上述功能之外,BIPlatform还支持快速同环比的配置,自定义函数配置支持。
关于快速同环比配置,和配置普通计算指标类似,接下来着重讲一下如何支持自定义函数:
-
/** 编写自定义函数功能类,如:本函数主要实现两个数的加和*/ public class UserDefFunction2 extends FunctionNode { /** * */ private static final long serialVersionUID = -2557343941040637669L; public UserDefFunction2 () { } /** 抽象方法,必须实现,用于标识自定义函数名*/ @Override public String getName () { return "udf2"; } /**可参考此实现,此方法主要用于批量计算时,对参数进行分组设置,以便提高计算性能*/ @Override public Map<Condition, Set<String>> mergeCondition(Node node) { return node.collectVariableCondition (); } /** 计算逻辑实现,可以根据函数特性,实现函数具体计算逻辑 */ @Override public ComputeResult getResult(CompileContext context) throws IllegalCompileContextException { Node args = getArgs ().get (0); Node args2 = getArgs().get (1); SingleComputeResult rs = (SingleComputeResult) args.getResult (context); SingleComputeResult rs1 = (SingleComputeResult) args2.getResult (context); return new SingleComputeResult (rs.getData ().add (rs1.getData ())); } /**必须实现,用于在计算之前对参数进行校验*/ @Override public int getArgsLength() { return 2; } }
-
在启动程序时,将函数注入执行上下文: RegisterFunction.register ("udf2", UserDefFunction2.class);
-
配置计算成员,表达式为:udf(${m3}, 1) 即可实现${m3} + 1的计算
时间: 2024-11-20 18:37:46