O3 Designer ofrece un editor de expresiones para facilitar la tarea de definición de campos virtuales y medidas. Este editor de expresiones presentará diferentes opciones según el contexto (editando un campo virtual o definiendo una medida derivada).
La siguiente tabla contiene operadores y funciones que puede usar cuando ingresa expresiones en los campos virtuales.
Operadores Numéricos |
|
+ , - , / , *, %, - unary, + unary |
Operadores numéricos simples |
Operadores Comparativos |
|
== , != , < , > , >= , <= |
Use estos con los tipos Integer, Double, Date, Time y String. |
Operadores Lógicos |
|
&&,||,! |
Estos son los operadores lógicos: AND, OR, NOT |
---|---|
Otros Operadores |
|
? :, CASE, CASE_WHEN, CASE_ELSE, ; , = |
Evaluación Condicional (IF). |
Constantes |
|
"", true, false, Pi, e |
|
Funciones para manipulación de cadenas de caracteres (Strings)
Caracter(Integer) |
Retorna el carácter especificado por el código numérico del set de caracteres de la máquina. |
|
Codigo(String) |
Retorna el código numérico para un carácter en el set de caracteres de la máquina. El Texto debe ser de largo 1. |
|
Comienza(String, String) |
Retorna Verdadero si el Texto1 comienza con Texto2 y Falso en caso contrario. |
|
Concatenar (String, String, String, ...) : String |
Concatena el segundo String a continuación del primero. |
|
Derecha(String, Integer) |
Retorna una cadena de texto con los últimos N caracteres (o más la derecha) de la cadena Texto, siendo N el Número especificado. |
|
Espacios(String) |
Elimina los espacios en blanco del comienzo y el final de un texto. |
|
Extraer(String, Integer, Integer ) : String |
Extrae de Texto1, la subcadena que comienza en el caracter Desde y llega hasta el caracter anterior a Hasta. Los caracteres se numeran desde 0. |
|
Izquierda(String, Integer) |
Retorna una cadena de texto con los primeros N caracteres (o más a la izquierda) de Texto, siendo N el Número especificado. |
|
Largo (String) : Integer |
Retorna la cantidad de caracteres de la cadena Texto. |
|
Mayusc(String) |
Cambia todas las letras de Texto por mayúsculas. |
|
Minusc(String) |
Cambia todas las letras de Texto por minúsculas |
|
Termina(String, String) : Booleano |
Retorna TRUE si Texto1 termina con el Texto2 y FALSE en caso contrario. |
|
Texto (Integer | Double | Date | Time | String | Boolean):String |
Convierte el argumento en String. Los formatos para Fecha y Hora se especifican después. Los valores Booleanos deben ser verdadero |
falso. |
ValorBooleano (String) : Boolean |
Convierte Texto a un valor boolean. El texto debe ser "TRUE" o "FALSE". |
|
ValorEntero(String) : Integer |
Convierte Texto a número. El texto debe tener formato de número. Ej. "123" |
|
ValorNumero (String) : Double |
Convierte Texto a un número (Double). El Texto debe tener formato de número. Ej: "123,10". |
Funciones para manipulación de Fechas y Tiempo
La representación del tipo Fecha como String es: dd/mm/yyyy o dd/mm/yy.
Año (Fecha) : Integer |
Extrae el año de la fecha. |
Dia (Fecha) : Integer |
Extrae el número de día de la fecha. |
DiaDeSemana(Fecha) : Integer |
Retorna el día de la semana de una fecha |
DifAños (Fecha, Fecha) : Integer |
El número de años entre ambas fechas. |
DifDias(Fecha, Fecha) : Integer |
El número de días entre ambas fechas. |
DifMeses (Fecha, Fecha) : Integer |
El número de meses entre ambas fechas. |
Fecha (Integer, Integer , Integer ) : Fecha |
Crea una nueva fecha de día, mes y año. |
Hoy () : Fecha |
Recupera la fecha del momento en que se ejecuta. |
Mes (Fecha) :Integer |
Extrae el número de mes de la fecha. |
NombreDia(Fecha) : String |
Retorna el nombre del día de la semana de una Fecha |
NombreMes (Fecha) : String |
Extrae el nombre del mes de la fecha. |
NombreSemestre (Fecha) : String |
Extrae el nombre de semestre de la fecha. |
NombreTrimestre (Fecha) : String |
Extrae el nombre de trimestre de la fecha. |
SemanaDelAño (Fecha) : Integer |
Extrae el número de semana del año de la fecha. |
SemanaDelMes (Fecha) : Integer |
Extrae el número de semana del mes de la fecha. |
Semestre (Fecha) : Integer |
Extrae el número de semestre de la fecha. |
SumarAño (Fecha, Integer) : Fecha |
Agrega el número especificado de años a la fecha dada. |
SumarDia (Fecha, Integer) : Fecha |
Agrega el número especificado de días a la fecha dada. |
SumarMes (Fecha, Integer) : Fecha |
Agrega el número especificado de meses a la fecha dada. |
Trimestre (Fecha) : Integer |
Extrae el número de trimestre de la fecha. |
ValorFecha(String) : Fecha |
Convierte un String en Date. El String puede soportar cualquiera de los dos formatos. |
La representación del tipo Tiempo como String es: hh:mm:ss (Nota: no hay soporte para hh:mm) El tipo Time es para uso interno en las expresiones como resultados intermedios. No es posible tener Campos Virtuales de tipo Tiempo, por lo tanto el resultado final de una expresión que define un Campo Virtual debe ser de otro tipo.
Ahora () : Tiempo |
Recupera la hora del momento en que se ejecuta. |
Horas(Tiempo) : Integer |
Extrae el número de horas de la hora. |
Minutos (Tiempo) : Integer |
Extrae el número de minutos de la hora. |
Segundos (Time) : Integer |
Extrae el número de segundos de la hora. |
Tiempo (Integer , Integer , Integer) : Tiempo |
Crea una nueva hora desde horas, minutos y segundos. |
ValorTiempo (String) : Tiempo |
Convierte un String en Time. |
Funciones Matemáticas
Abs(Integer) |
Retorna el valor absoluto de un Número. |
Aleatorio() : Double |
Retorna un numero aleatorio entre 0 y 1 |
Entero(Integer) : Integer |
Trunca el numero a entero |
Exp(Integer) : Double |
Retorna la constante elevada a un número |
Log(Integer) : Double |
Retorna el logaritmo hiperbólico de un número |
Maximo(Integer, Integer, ...) |
Retorna el máximo de un conjunto de números. |
Minimo(Integer, Integer, ...) |
Retorna el mínimo de un conjunto de números. |
Potencia(Integer, Potencia) |
Retorna el resultado de un Número elevado a una Potencia. |
Promedio (Integer, Integer, ....) : Double |
Calcula el promedio de los números dados. |
Raiz (Double) : Double |
Calcula la raíz cuadrada de los números dados. |
Redondear(Integer, Dígitos) |
Redondea un Número a la cantidad de Dígitos especificada. Si Dígitos es negativo el Número es redondeado a la izquierda de la coma decimal. |
Signo(Integer) |
Retorna el signo de un Número: 1 si el número es positivo, 0 si el número es cero y --1 si el número es negativo. |
Truncar(Integer,Dígitos) |
Trunca un Número a la cantidad de Dígitos especificada. Si Dígitos es negativo el Número es redondeado a la izquierda de la coma decimal. |
Funciones para Tablas Locales
BuscarCampo (NombreTabla, NombreCampo, Clave) : Valor |
Busca en la tabla 'TableName' el campo llamado 'FieldName' y retorna su valor para la clave 'key'. Encierra los nombres de Tabla y Campo entre comillas ("). Los nombres de campos usados como claves no deberían tener espacios. |
Funciones Estadísticas
Otras
Elegir (Indice, Opcion1, ...,OpcionN) : Value |
Retorna como resultado (Value) el valor Option que corresponde al valor del primer parámetro de la función (Indice). Para 1 se retorna el primer valor (Opcion1), el segundo para 2 (Opcion2) etc. Si el valor es más alto que el número de opciones retorna nulo. Es posible usar el identificador TN (Número de Tuplo) como primer parámetro y los nombres de campos como opciones para generar más de un registro de entrada de fuente. |
EsNulo (NombreCampo) : Boolean |
Retorna verdadero cuando el campo es nulo, de lo contrario retorna falso. |
Ignorar() |
Ignora el registro actual de la fuente de datos. |
Funciones para manipulación de Parámetros
Parametro (String) : ValorParametro |
Retorna el valor del parámetro indicado en el argumento. |
Constantes
"", true, false, pi, e |
|
Elementos
TN |
El valor de este elemento indica el número de tupla que está siendo procesada al usar la opción "Tuplas por Registro", y hay más de una tupla para cada registro de entrada. El primer valor que toma este elemento es 1. |