Está en la página 1de 10

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

MANUAL DE FUNCIONES PARA LA ELABORACION DE CALCULOS EN DISCOVERER


Al momento de querer definir un calculo en Discoverer este nos despliega una ventana con los tems utilizados en la consulta, y las funciones que tenemos disponibles para la manipulacin de los datos almacenados en los tems. Para efectos de facilidad para el usuario en el presente se describen las funciones ms tiles y mayor utilizadas para la manipulacin de datos en Discoverer. Las distintas funciones estn divididas en grupos los cules son: Funciones de Conversin Funciones de Fecha Funciones de Grupo Funciones para la Manipulacin de Strings (Cadenas de Caracteres) Funcione de Varios Tipos a) Funciones de Conversin: Estas efectan un cambian el atributo del tipo de dato del tem en que se utiliza la funcin, siempre y cuando sean aplicables. 1. Conversin a Carcter (TO_CHAR) Este comando convierte los datos de un item a datos tipo carcter, ya sea que este almacene datos numericos de fecha.

Cuando los que se van a convertir a carcter son de tipo numerico: Sintaxis Donde Descripcin TO_CHAR(Item,formato) Item = El nombre del Campo que se va a convertir, el formato es opcional Formato = a la cantidad de nmeros que se va a desplegar en la columna, dicha cantidad se debe definir con ceros (0).

Ejemplo TO_CHAR(cod finca,000) Descripcin del Ejemplo En esta Columna se convertirn los datos numricos de este campo a datos de tipo carcter, mostrando solamente los caracteres que contenga el valor si la finca es #10 solamente mostrar solo dos caracteres si el valor que retorna es mayor a tres caracteres solo colocar lo siguiente ##### y formato siempre ir entre apstrofos. Cuando los que se van a convertir a carcter son de tipo Fecha y Hora: Sintaxis Donde Descripcin TO_CHAR(Item,formato) Item = El nombre del Campo que se va a convertir Formato = en este le definimos como queremos que nos despliegue la fecha del tem que s esta convirtiendo de fecha a carcter

Ejemplo TO_CHAR(fecha hora entrada bascula, DD-MM-YYYY HH24:Mi:SS) Descripcin del Ejemplo En esta Columna se convertirn los datos de fecha de este campo a datos de tipo carcter, mostrando solamente da(DD), mes(MM), ao(YYYY), hora(HH24), minutos(Mi), segundos(SS) tal y como se muestra en el ejemplo con los parmetros para el formato entre apstrofos. Y la fecha la mostrar de esta forma: 01-01-2002 14:00:00

Elaborado por: David Antonio Mayorga Tobar

Pag. 1 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

2.

Conversin a Nmero (TO_NUMBER) Este comando convierte un dato tipo carcter a un dato de tipo numrico. Donde ITEM Descripcin =Es el que trae los datos de tipo carcter y este comando los convierte a datos de tipo numrico.

Sintaxis TO_NUMBER(ITEM)

Ejemplo TO_NUMBER(TO_CHAR(fecha,MM)) Descripcin

En el Ejemplo Anterior se extrae de un campo tipo fecha el mes pero este es retornado como carcter y con la funcin se convierte a numero.

b)

Funciones de Fecha: Estas se utilizan especficamente para la manipulacin de tems que almacenan datos de tipo fecha. 1. Agregar meses (ADD_MONTHS): Al momento de operar un tem si se utiliza esta funcin la misma agrega la cantidad de mese especificada en el parmetro que se le coloca. Donde Item Descripcion = al tem de tipo fecha que se va a utilizar = a la cantidad de meses que se la va a agregar a la fecha que devuelva en tem, esta cantidad se define en nmeros enteros y siempre va separado del tem por una coma(,) Descripcion Si la fecha almacenada dentro del tem fuera (01-09-2001) al momento de ejecutar esta funcion el tem mostrara la siguiente fecha (01-10-2001).

Sintaxis ADD_MONTHS(tem,parmetro)

Parmetro

Ejemplo ADD_MONTHS(Fecha Entrada,1)

2.

Ultimo da (LAST_DAY) La funcin de este comando es la de mostrar en cada una de las lneas de informacin l ultimo da registrado en el tem tipo fecha al que ha sido aplicado. Donde Item Descripcion = al tem que almacena datos de tipo fecha. Descripcion Si dentro de este tem han sido almacenadas las siguientes fechas (01-02-2001, 02-02-2001, 03-02-2001, 04-02-2001, 05-022001) al momento de aplicar esta funcin de todas estas fechas que tiene almacenadas el tem la que mostrar para todas las filas de informacin sera (05-02-2001), mostrara esta por ser l ultimo da almacenado

Sintaxis LAST_DAY(tem) Ejemplo LAST_DAY(Fecha Entrada)

Elaborado por: David Antonio Mayorga Tobar

Pag. 2 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

3.

Fecha del Sistema (SYSDATE) Esta funcin devuelve la fecha que actualmente tiene registrado el sistema operativo de la PC en la que s esta ejecutando la consulta. Donde SYSDATE Descripcion = a la fecha del sistema

Sintaxis SYSDATE

4.

Truncando las Fechas (TRUNC) Por generalidades de las bases de datos ORACLE cuando se tiene un tem(Campo) que almacenan datos de tipo Fecha, al momento de almacenar una fecha en este tipo de tems tambin almacena una hora y la finalidad de esta funcin es la de eliminar los datos de hora y dejar puramente los datos de la fecha. Donde Item Descripcion = al tem que almacena datos de tipo fecha al que se va a aplicar la funcin Descripcion si dentro del tem(Fecha Hora Entrada Bascula) esta almacenado este dato (01-102001 10:00:12) al momento de aplicar la funcin TRUNC el dato se reconocera de esta forma (0110-2001)

Sintaxis TRUNC(ITEM)

Ejemplo TRUNC(Fecha Hora Entrada Bascula)

c)

Funciones de Grupo: Estas se utilizan para agrupar los datos y efectuar distintas operaciones ya definidas (funciones de Grupo). 1. Agrupando y Sumando (SUM): La funcin de este comando es la de encontrar distintas cantidades para un mismo tipo de registro, agruparlo y al momento de esto sumarlos. Donde Item Descripcion = al tem de tipo numrico que fue convertido a numero Descripcion Cuando un empleado tiene horas extras en varios das de la catorcena y dentro de una consulta se toma en cuenta por ejemplo su cdigo, la fecha y un clculo como el anterior ejemplo la consulta mostrar una suma de las horas extras registradas en cada uno de los das, pero si la fecha no se toma en cuenta va a agrupar cada una de las cantidades de horas extras y muestra el total de estas con su cdigo.

Sintaxis SUM(Item) Ejemplo SUM(HORAS EXTRAS)

Elaborado por: David Antonio Mayorga Tobar

Pag. 3 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

2.

Contando los Registros (COUNT) Este comando hace un conteo de los registros dentro de in tem si se utiliza como total hace un conteo de las filas desplegadas dentro de la consulta. Donde ITEM Descripcion = al tem al que se va a aplicar el comando, en este caso no importa si este almacena datos de tipo fecha, numricos caracteres. Descripcion Cuando se ejecuta esta lnea de comando en un calculo esta va a desplegar la cantidad de empleado contando uno por uno los cdigos.

Sintaxis COUNT(ITEM)

Ejemplo COUNT(cod empleado)

Numero Mximo (MAX): Cuando este comando se aplica a un tem que almacena datos de tipo numrico este busca dentro de los registros (rows) almacenados los compara y muestra el mayor de todos los datos. Sintaxis Donde Descripcion MAX(ITEM) ITEM = al tem que almacena datos Ejemplo Descripcion MAX(Cod Empleado) Si dentro del tem (cod empleado) existieran los cdigos 501 y 1024 al momento de rastrearlos desplegara el segundo. Numero Mnimo (MIN): Cuando este comando se aplica a un tem que almacena datos de tipo numrico este busca dentro de los registros (rows) almacenados los compara y muestra el menor de todos los datos. Sintaxis Donde Descripcion MIN(ITEM) ITEM = al tem que almacena datos Ejemplo Descripcion MIN(Cod Empleado) Si dentro del tem (cod empleado) existieran los cdigos 501 y 1024 al momento de rastrearlos desplegara el primero. Promedios (AVG) Este comando al momento de ser ejecutado hace un promedio de los datos que se encuentran dentro del tem si se utiliza como total hace un promedio de los datos que han sido desplegados dentro de la consulta. Sintaxis Donde Descripcion AVG(tem) Item = al tem que almacena datos de tipo numricos Ejemplo Descripcion AVG(Horas Extras) Si s esta desplegando dentro de una consulta el cdigo de la empresa, el cdigo del departamento y se hace un calculo como el que se coloc de ejemplo 5. 4.

3.

Elaborado por: David Antonio Mayorga Tobar

Pag. 4 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

d)

Funciones para datos Numricos: Estas son las funciones que se basan en las operaciones bsicas de la matemtica (suma, resta, multiplicacin y divisin). 1. Suma (+):

La funcin de este comando es la de adicionarle a un tem la cantidad que tiene otro tem y mostrar el resultado dentro de otra columna que representa al clculo dentro de la consulta:
SINTAXIS ITEM1 + ITEM2 DONDE ITEM(1 y 2) DESCRIPCION = a los tems de que almacenan datos de tipo numricos y los cules se desean sumar. No necesariamente solo 2 tems se pueden sumar sino que no se tiene limite. DESCRIPCION Cuando se muestra en una consulta en una columna el cdigo del empleado en otra sus horas extras y en otra sus horas ordinarias y tambin se necesita que en otra muestre la suma de extras y ordinarias se realiza la operacin anteriormente ejemplificada dentro de un calculo

EJEMPLO Extras + ordinarias

2.

Restar ( - )

La funcin de este comando es la de quitarle a un tem la cantidad que tiene otro tem y mostrar el resultado dentro de otra columna que representa al clculo dentro de la consulta:
SINTAXIS ITEM1 - ITEM2 DONDE ITEM(1 y 2) DESCRIPCION = a los tems de que almacenan datos de tipo numricos y los cules se desean restar. DESCRIPCION Cuando se muestra en una consulta en una columna el cdigo del empleado en otra sus saldos y en otra sus abonos pero tambin se quiere que en otra se muestre la diferencia de estos se realiza la operacin anteriormente ejemplificada dentro de un calculo

EJEMPLO Saldo Abono

3.

Multiplicacin (*)

La funcin de este comando es la de multiplicar valga la redundancia a un primer tem por un segundo tem y mostrar el resultado dentro de otra columna que representa al clculo dentro de la consulta:
SINTAXIS ITEM1 * ITEM2 DONDE ITEM(1 Y 2) DESCRIPCION = a los tems de las tablas que se van a multiplicar y presentar el resultado en otra columna.

4.

Dividision (/)

La funcin de este comando es la de dividir valga la redundancia los datos de un primer tem entre los datos de un segundo tem y mostrar el resultado dentro de otra columna que representa al clculo dentro de la consulta:
SINTAXIS ITEM1 / ITEM2 DONDE ITEM(1 Y 2) DESCRIPCION = los tems de las tablas que se van a dividir y presentar el resultado en otra columna.

Elaborado por: David Antonio Mayorga Tobar

Pag. 5 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

e)

Otro tipo de Funciones: Estas son las funciones alternativas para una mejor manipulacin y extraccin de los datos requeridos. 1. NVL: Esta funcin evala si un tem tiene datos nulos y cuando encuentra estos coloca el valor que se le coloca en el parmetro.

SINTAXIS NVL(ITEM,PARAMETRO)

DONDE Item Parmetro

EJEMPLO NVL(Segundo Apellido, Dato no Registrado)

DESCRIPCION = al tem que almacene cualquier tipo de datos. = al valor que va a colocar la funcin cuando se encuentre un dato nulo. DESCRIPCION Cuando esta funcin es aplicada de esta forma, lo que hace es que cuando dentro de este tem no se encuentre el segundo apellido va a colocar la frase Dato no Registrado

DECODE: Esta es una funcin condicionante para el manejo de los datos dentro de un clculo, en la cul se toma como base un tem, a este se le coloca un parmetro (este es el condicionante) si el tem cumple con el parmetro deber mostrar ya sea un tem un parmetro y si no se cumple la condicin del tem con el parmetro se coloca otra alternativa tambin ya sea tem parmetro. SINTAXIS DONDE DESCRIPCION DECODE(TEM,PARAMETRO, Item = al tem que se toma como base. SI_CUMPLE, NO_CUMPLE) Parmetro = al tem expresin que va a ser la condicin del tem base. Si_Cumple = Al resultado que se desplegar en la columna si la condicin se cumple = Al resultado que se desplegar en la columna si la condicin no se cumple. DESCRIPCION =al Item =al parmetro =al tem parmetro(Si_Cumple) =al tem parmetro(No_cumple)

2.

No_cumple

EJEMPLO SUM(DECODE(Tipo Falta,1,Cantidad,0))

DONDE Tipo Falta 1 Cantidad 0 DESCRIPCION DEL EJEMPLO En el ejemplo anterior estamos elaborando un clculo en el cul necesita saber la cantidad de faltas que son de tipo 1, se toma como base el tem tipo falta y se le coloca un parmetro (1) cuando las faltas sean del valor del parmetro va a desplegar las faltas, si no encuentra datos que cumplan con la condicin coloca el segundo tem parmetro alternativo (0) y luego agrupa estos datos para desplegar un solo valor..

f)

Funciones de tipo Strings (Cadenas de Caracteres):


Pag. 6 Version 1.0

Elaborado por: David Antonio Mayorga Tobar

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

Estas son las funciones que nos proporcionan un mejor control sobre los tems que almacenan datos de tipo carcter en su defecto cadenas de caracteres. 1. LPAD:

Rellena de caracteres a la izquierda de un tem al que se le define el ancho que va a tener como columna al momento de desplegar los datos. SINTAXIS DONDE DESCRIPCION LPAD(CHAR,N,CARACTERES) CHAR = al tem que almacena datos de tipo carcter a ser operado N = al nmero de caracteres espacios que va a tener el tem como columna = a los caracteres con los que se va a rellenar a la izquierda del tem.

Caracteres

EJEMPLO: LPAD(Yo,10,*/) DESCRIPCION: En el anterior ejemplo elaboramos un clculo para poder desplegar en una columna la palabra Yo, y que la columna tenga un ancho de 10 caracteres, pero como lo que queremos que muestre solo consta de 2 caracteres los 8 caracteres restantes los llenar con los caracteres que le definimos (*/*/*/*/)

2.

LTRIM:

Remueve caracteres desde la izquierda de un tem, removiendo la cadena de caracteres que sean iguales a los indicados a remover y en cuanto aparezca en primero que no sea igual a la cadena anteriormente definida, este termina la remocin de los mismos. SINTXIS DONDE DESCRIPCION LTRIM(CADENA_CARACTERES, CADENA_CARACTERES = a una cadena de caracteres PARAMETROS_REMOVER) definida por el usuario un tem que el usuario seleccione. PARAMETROS_REMOVER = a los parmetros que se definen y que sern los que se removern hasta que se encuentre un carcter que no sea igual a los parametrizados comenzado a removerlos de izquierda a derecha.

EJEMPLO: LTRIM(xyxyxyxyxXyxyLAST WORD, xy) DESCRIPCION: En el ejemplo anterior se eliminarn todos los caracteres que sean iguales a los parametrizados y como los ir eliminando de izquierda a derecha cuando se encuentre con el primer carcter que no sean iguales a los parametrizados terminar su proceso la funcin.

3.

RPAD:

Elaborado por: David Antonio Mayorga Tobar

Pag. 7 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

Rellena de caracteres a la derecha de un tem al que se le define el ancho que va a tener como columna al momento de desplegar los datos. SINTAXIS DONDE DESCRIPCION LPAD(CHAR,N,CARACTERES) CHAR = al tem que almacena datos de tipo carcter a ser operado N = al nmero de caracteres espacios que va a tener el tem como columna = a los caracteres con los que se va a rellenar a la izquierda del tem.

Caracteres

EJEMPLO: LPAD(Yo,10,*/) DESCRIPCION: En el anterior ejemplo elaboramos un clculo para poder desplegar en una columna la palabra Yo, y que la columna tenga un ancho de 10 caracteres, pero como lo que queremos que muestre solo consta de 2 caracteres los 8 caracteres restantes los llenar con los caracteres que le definimos (*/*/*/*/)

4.

RTRIM:

Remueve caracteres desde la derecha de un tem, removiendo la cadena de caracteres que sean iguales a los indicados a remover y en cuanto aparezca en primero que no sea igual a la cadena anteriormente definida, este termina la remocin de los mismos. SINTXIS DONDE DESCRIPCION LTRIM(CADENA_CARACTERES, CADENA_CARACTERES = a una cadena de caracteres PARAMETROS_REMOVER) definida por el usuario un tem que el usuario seleccione. PARAMETROS_REMOVER = a los parmetros que se definen y que sern los que se removern hasta que se encuentre un carcter que no sea igual a los parametrizados comenzado a removerlos de derecha a izquierda.

EJEMPLO: LTRIM(LAST WORDyxyXyxyxyxyx, xy) DESCRIPCION: En el ejemplo anterior se eliminarn todos los caracteres que sean iguales a los parametrizados y como los ir eliminando de derecha a izquierda cuando se encuentre con el primer carcter que no sean iguales a los parametrizados terminar su proceso la funcin.

5.

SUBSTR
Pag. 8 Version 1.0

Elaborado por: David Antonio Mayorga Tobar

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

SINTAXIS = SUBSRT(CHAR,m,n) Retorna muestra una parte de un carcter un tem que almacene datos de tipo carcter, iniciando a mostrar los caracteres con el valor que contenga el parmetro m y la porcin de caracteres que se va a mostrar con el valor que se le asigna al carcter n, si el carcter m es positivo ORACLE cuenta desde el inicio de char hasta el final, si el valor del parmetro m es negativo ORACLE inicia a contar desde el final hasta el inicio de char. El valor de m no puede ser 0. Si n es omitido ORACLE retorna todos los valores de char desde donde se le esta indicando que los muestre. SINTAXIS DONDE DESCRIPCION SUBSRT(CHAR,m,n) Char = es una cadena de caracteres un tem que almacena datos tipo carcter. M = a un parmetro que se define para indicarle a la funcin de donde tiene que comenzar a mostrar los caracteres. = a la cantidad de caracteres que la funcin va a mostrar.

N EJEMPLO:

SUBSTR(ABCDEFG,3,2) DESCRIPCION: En el ejemplo anterior se va a ejecutar la funcin anteriormente descrita, en este calculo colocamos una cadena de 7 caracteres(ABCDEFG) y aplicando la funcin SUBSTR vamos a recortar los caracteres para mostrar 2 de los 7 indicandole con el parmetro m (3) que comience a mostrar los caracteres desde el tercer carcter y con el parmetro n (2) le estamos indicando la cantidad de caracteres en este caso mostrar solo 2 iniciando desde el carcter nmero 3 Y el clculo mostrara solamente estas dos letras (CD), porque la letra es la tercera en la cadena de caracteres y solo esas dos letras porque en l ultimo parmetro se le indico mostrara. INITCAP: Retorna muestra una cadena de caracteres un tem que almacena datos de tipo carcter con las iniciales de cada palabra en maysculas y el resto de las letras de las palabras en letras minsculas. SINTAXIS DONDE DESCRIPCION INITCAP(CHAR) Char = a la cadena de caracteres el tem que almacena datos de tipo carcter que se va a operar EJEMPLO: INITCAP(INGENIO MAGDALENA) DESCRIPCION: En el ejemplo anterior utilizamos la funcin INITCAP para aplicarla en una cadena de caracteres que se encuentra escrita en letras maysculas, para convertirlas en una cadena de caracteres con letras iniciales maysculas en cada una de las palabras y la frase quedara as: Ingenio Magdalena LOWER: Retorna muestra una cadena de caracteres un tem que almacena datos de tipo carcter con las palabras totalmente en minsculas, no importando que estas se hayan escrito en maysculas con letras iniciales. SINTAXIS DONDE DESCRIPCION LOWER(CHAR) Char = a la cadena de caracteres el tem que almacena datos de tipo carcter que se va a operar EJEMPLO: LOWER(INGENIO MAGDALENA) DESCRIPCION: En el ejemplo anterior utilizamos la funcin LOWER para aplicarla en una cadena de caracteres que se encuentra escrita en letras maysculas, para convertirlas en una cadena de caracteres con letras minsculas en toda su estructura y la frase quedara as: ingenio magdalena 7. 6.

Elaborado por: David Antonio Mayorga Tobar

Pag. 9 Version 1.0

DEPARTAMENTO DE INFORMATICA

Fecha: 21/01/14 Hora: 11:23

8.

UPPER:

Retorna muestra una cadena de caracteres un tem que almacena datos de tipo carcter con las palabras totalmente en maysculas, no importando que estas se hayan escrito en letras minsculas. SINTAXIS DONDE DESCRIPCION UPPER(CHAR) Char = a la cadena de caracteres el tem que almacena datos de tipo carcter que se va a operar EJEMPLO: UPPER(ingenio magdalena) DESCRIPCION: En el ejemplo anterior utilizamos la funcin UPPER para aplicarla en una cadena de caracteres que se encuentra escrita en letras minsculas, para convertirlas en una cadena de caracteres con letras maysculas en toda su estructura y la frase quedara as: INGENIO MAGDALENA

Elaborado por: David Antonio Mayorga Tobar

Pag. 10 Version 1.0

También podría gustarte