先睹为快,咱们先来看一下如何进行简单的基于四则运算的简单计算指标配置。java
访问BIPlatform设计器,进入以下页面:node
配置完成以后,点击提交完成配置,以后就能够正常使用你配置的计算指标了。ide
经过上述简单操做,你就能够完成基于四则运算的计算指标配置。函数
除上述功能以外,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的计算