Edición de Expresiones
Una expresión es una instrucción de cálculo o condicional que puede ser agregada a una transformación. Esta expresión usa el lenguaje de tranformación de Informática que contiene un grán número de funciones diseñadas para el manejo común de datos. Por ejemplo, la función TO_CHAR es usada para convertir de date a string, la función SUBSTR es usada para obtener una porción de una cadena de caracteres.
Una expresión está compuesta por puertos (input, input/output, variable), funciones, operadores, variables, literales, valores de retorno y constantes. Las expresiones pueden ser utilizadas en las siguientes transformaciones:
-
Expression – En puertos de Salida
-
Aggregator – En puertos de Salida
-
Rank – En puertos de Salida
-
Filter – En la Transformación
-
Update Strategy – En la Transformación
Para editar una expresión se debe presionar el botón que aparece en la columna Expression como se muestra la imagen 3.8.
Al abrirse el Editor de Expresiones se encontrará con una ventana como la mostrada en la imagen 3.9, la cual cuenta con un panel (a la izquierda) donde se encuentran todas las funciones, puertos y variables que se pueden utilizar en la expresión. En la zona de edición (a la derecha) podremos modificar la expresión escribiendo directamente las instrucciones que deseemos y luego realizar la validación con el botón “Validate” o simplemente presionando “OK”.
Para insertar comentarios dentro de la expresión sólo se debe poner el prefijo “–” ó “//” a la línea que se desea comentar.
Veamos ahora cada una de las funciones que se pueden utilizar en el editor de expresiones que han sido agrupadas según las necesidades que se puedan presentar.
-
Funciones de Agregación
Son funciones que permiten realizar cálculos sobre conjuntos de valores realizando la agrupación de los mismos.
Nombre |
Sintaxis |
Descripción |
AVG |
AVG( numeric_value [, filter_condition ] ) |
Retorna el promedio de todos los valores en el grupo. |
COUNT |
COUNT( value [, filter_condition ] ) |
Retorna el número de registros con valores no nulos en el grupo |
FIRST |
FIRST( value [, filter_condition ] ) |
Retorna el primer registro en el grupo. |
LAST |
LAST( value [, filter_condition ] ) |
Retorna el último registro en el grupo |
MAX |
MAX( value [, filter_condition ] ) |
Retorna el máximo valor o la última fecha encontrada en un grupo. |
MEDIAN |
MEDIAN( numeric_value [, filter_condition ] ) |
Retorna la media de todos los valores en el puerto seleccionado. |
MIN |
MIN( value [, filter_condition ] ) |
Retorna el mínimo valor o la primera fecha encontrada en un grupo. |
PERCENTILE |
PERCENTILE( numeric_value, percentile [, filter_condition ] ) |
Retorna el percentil de un grupo. |
STDDEV |
STDDEV( numeric_value [, filter_condition ] ) |
Retorna la desviación estándar de un grupo. |
SUM |
SUM( numeric_value [, filter_condition ] ) |
Retorna la suma de todos los registros de un grupo. |
VARIANCE |
VARIANCE( numeric_value [, filter_condition ] ) |
Retorna la varianza de todos los registros de un grupo. |
-
Funciones de Caracteres
Nombre |
Sintaxis |
Descripción |
ASCII |
ASCII ( string ) |
En modo ASCII retorna el número ASCII del primer carácter del string. En modo Unicote retorna el número Unicote del primer carácter del string. Esta función es idéntica en comportamiento a la función CHRCODE. |
CHR |
CHR( numeric_value ) |
Retorna el carácter ASCII o Unicote correspondiente al número especificado. |
CHRCODE |
CHRCODE ( string ) |
En modo ASCII retorna el número ASCII del primer carácter del string. En modo Unicote retorna el número Unicote del primer carácter del string. Esta función es idéntica en comportamiento a la función CHRCODE. |
CONCAT |
CONCAT( first_string, second_string ) |
Concatena dos strings. |
INITCAP |
INITCAP( string ) |
Convierte la primera letra de cada palabra del string en mayúscula y las demás letras en minúsculas. |
INSTR |
INSTR( string, search_value [, start [, occurrence ] ] ) |
Retorna la posición de un carácter dentro de un string contando desde la izquierda a la derecha. |
LENGTH |
LENGTH( string ) |
Retorna el número de caracteres de un string. |
LOWER |
LOWER( string ) |
Convierte a minúsculas los caracteres de un string. |
LPAD |
LPAD( first_string, length [, second_string ] ) |
Agrega caracteres al inicio de un string. |
LTRIM |
LTRIM( string [, trim_set ] ) |
Elimina los espacios en blanco al inicio de un string. |
REPLACECHR |
REPLACECHR( InputString, OldCharSet, NewChar ) |
Reemplaza un carácter en un string. |
REPLACESTR |
REPLACESTR ( InputString, OldString1, [OldString2, …OldStringN,] NewString ) |
Reemplaza una string dentro de otro. |
RPAD |
RPAD( first_string, length [, second_string ] ) |
Agrega caracteres al final de un string. |
RTRIM |
RTRIM( string [, trim_set ] ) |
Elimina los espacios en blanco al final de un string. |
SUBSTR |
SUBSTR( string, start [, length ] ) |
Retorna una porción de un string. |
UPPER |
UPPER( string ) |
Convierte en mayúsculas los caracteres de un string. |
-
Funciones de Conversión
Funciones de conversión de tipos de datos. Éstas son útiles para evitar problemas en comparaciones y asignaciones de puertos.
Nombre |
Sintaxis |
Descripción |
TO_CHAR |
TO_CHAR( numeric_value ) |
Convierte números y fechas en texto. |
TO_DATE |
TO_DATE( string [, format ] ) |
Convierte un string en una fecha. Es posible indicar el formato que tiene la fecha por el parámetro format. |
TO_DECIMAL |
TO_DECIMAL( value [, scale ] ) |
Convierte cualquier valor (excepto binario) en un decimal. |
TO_FLOAT |
TO_FLOAT( value ) |
Convierte cualquier valor (excepto binario) a un flotante de doble precisión. |
TO_INTEGER |
TO_INTEGER( value ) |
Convierte cualquier valor (excepto binario) a un número entero, redondeando la porción decimal. |
-
Funciones de Limpieza de Datos
Agrupación de funciones que ayudan en la limpieza de datos.
Nombre |
Sintaxis |
Descripción |
INSTR |
INSTR( string, search_value [, start [, occurrence ] ] ) |
Retorna la posición de un carácter dentro de un string contando desde la izquierda a la derecha. |
IS_DATE |
IS_DATE( value ) |
Retorna verdadero si el valor es una fecha válida. |
IS_NUMBER |
IS_NUMBER( value ) |
Retorna verdadero si el valor es un número válido. |
IS_SPACES |
IS_SPACES( value ) |
Retorna verdadero si el valor está conformado enteramente por espacios. |
ISNULL |
ISNULL( value ) |
Retorna verdadero si el valor es nulo. |
LTRIM |
LTRIM( string [, trim_set ] ) |
Elimina los espacios en blanco al inicio de un string. |
METAPHONE |
METAPHONE( string [,length] ) |
Codifica caracteres del alfabeto de la lengua inglesa (A-Z). Codifica letras mayúsculas y minúsculas en mayúsculas. |
REPLACECHR |
REPLACECHR( InputString, OldCharSet, NewChar ) |
Reemplaza un carácter en un string. |
REPLACESTR |
REPLACESTR ( InputString, OldString1, [OldString2, … OldStringN,] NewString ) |
Reemplaza una string dentro de otro. |
RTRIM |
RTRIM( string [, trim_set ] ) |
Elimina los espacios en blanco al final de un string. |
SOUNDEX |
SOUNDEX( string ) |
Codifica un string en una cadena de cuatro caracteres. |
SUBSTR |
SUBSTR( string, start [, length ] ) |
Retorna una porción de un string. |
TO_CHAR |
TO_CHAR( numeric_value ) |
Convierte números y fechas en texto. |
TO_DATE |
TO_DATE( string [, format ] ) |
Convierte un string en una fecha. |
TO_DECIMAL |
TO_DECIMAL( value [, scale ] ) |
Convierte cualquier valor (excepto binario) en un decimal. |
TO_FLOAT |
TO_FLOAT( value ) |
Convierte cualquier valor (excepto binario) a un flotante de doble precisión. |
TO_INTEGER |
TO_INTEGER( value ) |
Convierte cualquier valor (excepto binario) a un número entero, redondeando la porción decimal. |
-
Funciones de Fecha
Nombre |
Sintaxis |
Descripción |
ADD_TO_DATE |
ADD_TO_DATE( date, format, amount ) |
Agrega un número específico de una parte a una fecha/hora. |
DATE_COMPARE |
DATE_COMPARE( date1, date2 ) |
Retorna 1, 0, -1 o NULL si date1 es mayor, menor, igual o NULL respectivamente. |
DATE_DIFF |
DATE_DIFF( date1, date2, format ) |
Retorna la diferencia entre dos fecha en años, meses, días, horas, minutos o segundos. |
GET_DATE_PART |
GET_DATE_PART( date, format ) |
Retorna una parte de una fecha. |
LAST_DAY |
LAST_DAY( date ) |
Retorna el último día de un mes. |
MAX |
MAX( date, filter_condition ) |
Retorna la mayor fecha de un grupo. |
MIN |
MIN( date, filter_condition ) |
Retorna la menor fecha de un grupo. |
ROUND |
ROUND( date [, format ] ) |
Redondea una parte de una fecha. |
SET_DATE_PART |
SET_DATE_PART( date, format, value ) |
Establece un valor específico para una parte de una fecha. |
TRUNC |
TRUNC( date [, format ] ) |
Trunca una fecha a un especificado año, mes, día, hora o minuto. |
-
Funciones Numéricas
Funciones para operaciones matemáticas y de manejo de números.
Nombre |
Sintaxis |
Descripción |
ABS |
ABS( numeric_value |
Retorna el valor absoluto de un número. |
CEIL |
CEIL( numeric_value |
Retorna el número entero más pequeño mayor o igual el valor numérico especificado. |
CUME |
CUME( numeric_value [, filter_condition ] ) |
Retorna el total de todos los valores. |
EXP |
EXP( exponent ) |
Retorna el valor e elevado a un exponente, donde e = 2.71828183. |
FLOOR |
FLOOR( numeric_value ) |
Retorna el número entero más grande inferior o igual el valor numérico especificado. |
LN |
LN( numeric_value ) |
Retorna el logaritmo natural de un número. |
LOG |
LOG( base, exponent ) |
Retorna el logaritmo de un número. |
MOD |
MOD( numeric_value, divisor ) |
Retorna el resto de una división entera. |
MOVINGAVG |
MOVINGAVG( numeric_value, recordset [, filter_condition ] ) |
Retorna el promedio (registro a registro) de un grupo de registros. |
MOVINGSUM |
MOVINGSUM( numeric_value, recordset [, filter_condition ] ) |
Retorna la suma (registro a registro) de un grupo de registros. |
POWER |
POWER( base, exponent ) |
Retorna el resultado de un valor elevado a un exponente. |
ROUND |
ROUND( numeric_value [, precision ] ) |
Redondea un número a un número específico de decimales. |
SIGN |
SIGN( numeric_value ) |
Indica si un valor es positivo, negativo o 0 (cero). |
SQRT |
SQRT( numeric_value ) |
Retorna la raíz cuadrada de un valor positivo. |
TRUNC |
TRUNC( numeric_value [, precision ]) |
Trunca un valor a un número específico de dígitos. |
-
Funciones Científicas
Funciones para cálculos científicos.
Nombre |
Sintaxis |
Descripción |
COS |
COS( numeric_value ) |
Retorna el coseno de un número expresado en radianes. |
COSH |
COSH( numeric_value ) |
Retorna el coseno hiperbólico de un valor expresado en radianes. |
SIN |
SIN( numeric_value ) |
Retorna el seno de un valor expresado en radianes. |
SINH |
SINH( numeric_value ) |
Retorna el seno hiperbólico de un valor expresado en radianes. |
TAN |
TAN( numeric_value ) |
Retorna la tangente de un valor expresada en radianes. |
TANH |
TANH( numeric_value ) |
Retorna la tangente hiperbólica de un número expresada en radianes. |
-
Funciones Especiales
Funciones condicionales y de apoyo a la construcción de expresiones.
Nombre |
Sintaxis |
Descripción |
ABORT |
ABORT( string ) |
Detiene la sesión y usa un error especificado. |
DECODE |
DECODE( value, first_search, first_result [, second_search, second_result ]…[, default ] ) |
Busca un puerto para un valor específico. |
ERROR |
ERROR( string ) |
Causa que Informática salte el registro y utilice el error especificado. |
IIF |
IIF( condition, value2 [, value2 ] ) |
Retorna uno o más valores de acuerdo a la condición especificada. |
LOOKUP |
LOOKUP( result, search1, value1 [, search2, value2]… ) |
Busca un valor en una columna origen. Se recomienda utilizar la transformación Lookup en su lugar. |
Comments
18 Comments
RSS