先睹爲快,咱們先來看一下如何進行簡單的基於四則運算的簡單計算指標配置。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的計算