Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Discoverer, querys como un valor

Estas en el tema de Discoverer, querys como un valor en el foro de Oracle en Foros del Web. Que tal compañeros, Estoy usando Discoverer para hacer un reporte, pero no he podido hacer la interpretación de un query en especial, ya que en ...
  #1 (permalink)  
Antiguo 27/02/2008, 17:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Discoverer, querys como un valor

Que tal compañeros,

Estoy usando Discoverer para hacer un reporte, pero no he podido hacer la interpretación de un query en especial, ya que en la ayuda de Discoverer no menciona como agregar querys para una nueva columna tipo "Calculo".

Para ser más especifico, voy a poner un query sencillo de lo que quisiera poner en Discoverer pero no puedo.

Select t1.Fecha, t1.Cantidad,
(t1.Acumulado - (select t2.Acumulado from tabla1 t2 where fecha = :p_fecha1)
) Acumulado
FROM tabla1 t1
WHere Fecha between :p_fecha1 and :p_fecha2

Se supone que el campo es un dato de cantidades acumuladas de diario, pero si quiero consultar solamente un periodo en especifico, este se debe mostrar inicializado en cero, es por ellos que es dinámico y depende de la fecha que indique el usuario como parámetro.

El uso del parámetro :p_fecha1 es lo que me impide hacerlo una vista y no se poner ese subquery de la columna Acumulado en un campo tipo "Calculo" en Discoverer.

Mi pregunta es: ¿Se puede introducir un query (select from where) en una columna de Discoverer? y si se puede ¿como le hago?

Gracias de antemano por su apoyo, se aceptan sugerencias.
  #2 (permalink)  
Antiguo 17/04/2008, 08:03
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Re: Discoverer, querys como un valor

Mira. por casualidad vi tu consulta y te digo que hay varias formas de hacerlo, pero tu problema no esta bien detallado.

De todos modos te digo una forma y me dices si ya la probaste o si no te sirve.

Primero debes crear una funcion dentro del esquema que se ha creado con los objetos del discoverer. Esta funcion debe ser la que especificas en tu correo

Select t1.Fecha, t1.Cantidad,
(t1.Acumulado - (select t2.Acumulado from tabla1 t2 where fecha = :p_fecha1)
) Acumulado
FROM tabla1 t1
WHere Fecha between :p_fecha1 and :p_fecha2

Cuando crees la funcion los parametros de entrada deben ser las fechas.

Luego debes entrar a la aplicacion administrativa (Administration Edition) a TOOLS (o herramientas) e ir a la opcion "Register PL/SQL Functions". En esta opcion tu puedes publicar la funcion que has creado para poder ser usada desde la aplicacion de usuario final (User Edition) .

Desde la aplicacion de usuario final (User) ya con tu reporte, que segun te entiendo, tiene ya varios campos y quieres aumentar una columna con el resultado de la funcion que ya creaste, solo vas a crear el nuevo calculo que querias. Vas a functions (o funciones) y eliges la opcion DataBase o base de datos. Ahi tiene que estar tu funcion publicada y solo haces uso de ella poniendo los parametros de entrada que quieras.

Espero que te sirva
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:07.