如何經過BIPlatform完成計算指標的配置

先睹爲快,咱們先來看一下如何進行簡單的基於四則運算的簡單計算指標配置。java

訪問BIPlatform設計器,進入以下頁面:node

配置完成以後,點擊提交完成配置,以後就能夠正常使用你配置的計算指標了。ide

經過上述簡單操做,你就能夠完成基於四則運算的計算指標配置。函數

除上述功能以外,BIPlatform還支持快速同環比的配置,自定義函數配置支持。性能

關於快速同環比配置,和配置普通計算指標相似,接下來着重講一下如何支持自定義函數:設計

  1. /** 編寫自定義函數功能類,如:本函數主要實現兩個數的加和*/
    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;
            }
            
        }
  2. 在啓動程序時,將函數注入執行上下文:
    RegisterFunction.register ("udf2", UserDefFunction2.class);
  3. 配置計算成員,表達式爲:udf(${m3}, 1) 便可實現${m3} + 1的計算
相關文章
相關標籤/搜索