Cómo completar la configuración de indicadores de cálculo a través de plataformas duales
Además de las funciones anteriores, BIPlatform también admite una configuración rápida en anillo y soporte de configuración de funciones definidas por el usuario.
Acerca de la configuración del anillo rápido, es similar a la configuración de los indicadores de cálculo ordinarios. A continuación, nos centraremos en cómo admitir funciones definidas por el usuario:
/* * Escriba una clase de función personalizada, por ejemplo, esta función implementa principalmente la suma de dos números*/
La clase pública UserDefFunction2 extiende FunctionNode {
/**
? *?
? */
privado estático final largo serialVersionUID =-2557343941040637669 l;
public UserDefFunction2 () {
}
?
/* *Método abstracto, que debe implementarse para identificar nombres de funciones definidas por el usuario*/
@Override
Cadena pública getName () { p>
p>
Devuelve "UDF 2";
}
/* *Puedes consultar esta implementación. Este método se utiliza principalmente para establecer parámetros en grupos durante el cálculo por lotes para mejorar el rendimiento del cálculo*/
@cover
public map& lt condition, set & ltstring& gt& gtmergeCondition(node node) {
Return node .collectvariablecondition();
}
/* *Implementación de la lógica informática, la lógica de cálculo específica de la función se puede implementar de acuerdo con la función. características* /
@Override
El resultado de la computadora pública getResult(Contexto CompileContext) arroja IllegalCompileContextException {
Node args = getArgs(). get(0);
Nodo args2 = getArgs(). get(1);
SingleComputeResult RS =(SingleComputeResult)args . obtener resultado(contexto);
SingleComputeResult RS 1 =(SingleComputeResult)args 2 . /p>
Devuelve el nuevo resultado de una sola computadora(RS . get data(). add(RS 1 . get data());
}
/* *En Must se ejecutará antes del cálculo para verificar los argumentos */
@override
public int getArgsLength() {
return 2;
}
?
}
Inyecta la función en el contexto de ejecución al iniciar el programa:
registrar función. , userdeffunction 2. class);
Utilice la expresión: udf(${m3}, 1) para configurar el miembro de cálculo para implementar el cálculo de ${m3}+1
.