Juan Garcés

Personal Blog

Introducción a Informatica PowerCenter

septiembre 29th, 2013

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.

 

  1. 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 ] )
ó
COUNT( * [, 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.

 

  1. 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.

 

  1. 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 )
TO_CHAR( date [, format ] )

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.

 

  1. 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 )
TO_CHAR( date [, format ] )

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.

 

  1. 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.

 

  1. 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.

 

  1. 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.

 

  1. 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

Juan Garcés

Personal Blog