Analizador de expresiones
El producto soporta la definición de expresiones que pueden ser de origen matemático o lógico/booleano. La expresión puede incluir variables y funciones.
El parámetro de columna del explorador de datos es un ejemplo de dónde se puede usar. Ese parámetro soporta la definición de una fórmula. Las aplicaciones integrables pueden soportar una fórmula o expresión que use también este analizador. Por ejemplo, varias aplicaciones incluyen un tipo de objeto de "regla" (regla de cálculo, regla de formulario o regla de consumo) que se usa para validación o cálculo que puede soportar la aplicación de una fórmula.
En las tablas siguientes se resalta lo que se soporta en las expresiones que usan este analizador.
| Categoría | Soportado en la expresión | Descripción |
|---|---|---|
| Tipos de datos | Número | |
| Cadena | ||
| Booleano | ||
| Lista | ||
| Literales | Números | |
| Cadenas entre comillas simples o dobles. Nota: actualmente no se soportan los caracteres especiales de "escape".
|
||
| Valores booleanos: verdadero y falso. | ||
| Operaciones | + | Más |
| — | Menos | |
| / | División | |
| * | Multiplicación | |
| ^ o ** | Potencia | |
| % | Módulo | |
| Operaciones lógicas | = | Igual a |
| > | Mayor que | |
| >= | Mayor que o igual a | |
| < | Menor que | |
| <= | Menor que o igual a | |
| != o <> | Distinto de |
En esta tabla se identifican las funciones que se soportan. Tenga en cuenta que se pueden aplicar varias de las funciones a una lista de valores. Tenga en cuenta que aunque las funciones se indiquen en minúsculas, la sintaxis del parámetro de columna en el explorador de datos indica la referencia a las funciones en letras mayúsculas. El sistema convierte la fórmula de la columna del explorador de datos a minúsculas antes de evaluarla.
| Función | Parámetro | Resultados | Comentarios |
|---|---|---|---|
| size( ) | Elemento de lista | Número de elementos en la lista. | |
| isEmpty( ) | Elemento de lista | Devuelve "verdadero" si la lista está vacía. | |
| sum( ) | Elemento de lista del tipo 'número' | Devuelve la suma de los números de la lista. | |
| avg( ) | Elemento de lista del tipo 'número' | Devuelve la media de los números de la lista. | |
| Uno o varios números separados por comas | Devuelve la media de los argumentos de número. | ||
| max( ) | Elemento de lista | Devuelve el valor mayor de la lista. | |
| Uno o varios elementos comparables. | Devuelve el valor mayor de los argumentos de número. | ||
| min( ) | Elemento de lista | Devuelve el valor menor de la lista. | |
| Uno o varios elementos comparables. | Devuelve el valor menor de los argumentos de número. | ||
| abs( ) | Número | Devuelve el valor absoluto. | |
| ceiling( ) | Número | Redondea el número hacia arriba. | |
| exp10( ) | Número | Eleva 10 a la potencia de número. | |
| acos( ) | Número | Devuelve el arcocoseno del número en radianes. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| asin( ) | Número | Devuelve el arcoseno del número en radianes. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| atan( ) | Número | Devuelve el arcotangente del número en radianes. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| cos( ) | Radián | Devuelve el coseno de la entrada de ángulo en radianes. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| exp( ) | Número | Eleva e a la potencia de número. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| log10( ) | Número | Toma el log, base 10, del número. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| log( ) | Número | Toma el log natural (base e) del número. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| sin( ) | Radián | Devuelve el seno de la entrada de ángulo en radianes. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| sqrt( ) | Número | Devuelve la raíz cuadrada del número. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| tan( ) | Radián | Devuelve la tangente de la entrada de ángulo en radianes. | El resultado perderá precisión porque usa las funciones basadas la 'doble precisión' (flotante) del sistema. |
| floor( ) | Número | Redondea el número hacia abajo. | |
| round( ) | Número | Asume una escala de 0. Se aplica el modo de redondeo por defecto de “redondear de mitad hacia arriba”. | |
| Número, escala | Se aplica el modo de redondeo por defecto de “redondear de mitad hacia arriba”. | ||
| Número, escala, modo | El modo se debe definir en uno de los siguientes:
|
||
| negate( ) | Número | Devuelve el valor negativo del número. | Solo está disponible en el explorador de datos. |
Las funciones especiales siguientes se soportan en la aplicación para una lista de valores. En cada caso, la sintaxis es function [ indexVariable en listName | expression using indexVariable ], donde el autor de la fórmula elige la indexVariable para representar cada entrada de la lista y la expresión usada para evaluar cada entrada debe hacer referencia a esa variable.
| Función | Descripción | Ejemplos |
|---|---|---|
| any [ ] | Esta función devuelve el valor verdadero si alguna de las entradas de la lista cumple con la expresión. | Lo siguiente devuelve verdadero si cualquier entrada en la lista de saldos es mayor que 0.
|
| all [ ] | Esta función devuelve el valor verdadero si todas las entradas de la lista cumplen con la expresión. | Lo siguiente devuelve verdadero si se rellenan todos los números de teléfono.
|
| collect [ ] | Esta función devuelve una lista nueva de elementos desde la lista a la que se hace referencia donde el valor de cada entrada de la lista nueva es el resultado de la expresión aplicada a cada valor original. | Lo siguiente devuelve una lista nueva con el tipo impositivo aplicado a cada importe.
|
| select [ ] | Esta función devuelve una lista de todos los valores de la lista original que cumplen con la expresión booleana. | Lo siguiente devuelve una lista nuevo solo con los importes que sean números negativos.
|
| reject [ ] | Esta función devuelve una lista de todos los valores de la lista original que no cumplen con la expresión booleana. | Lo siguiente devuelve una lista nuevo solo con los importes que no sean números negativos.
|
