Power Builder - Calcular en un computed field

 
Vista:
sin imagen de perfil

Calcular en un computed field

Publicado por Denys Alberto (109 intervenciones) el 24/03/2007 16:16:46
Hola a todos..tengo un problemilla. lo q pasa es q quiero calcular en un compute field el siguiente dato..

semanas..en mi tabla tengo a parte de este campo otros datos, pero lo q deseo es calcular a travez del computed field un rango ...yo en el campo semanas guardo de la sgte manera

Tabla Hola
id, num_ord, semanas: en semanas guardo de la siguiente manera
1 ,00001 , 36
2 ,00002 , 38
3 ,00003 , 40
4 ,00004 , 43

por ejemplo: Ahora lo q yo deseo hacer es filtrar el campo semanas, lo realizo con cun Count(semanas < 37), pero no me sale:
Como resultado me debe de dar un campo q tiene el dato menor a 37, en este caso es el primer registro, pero aun asi nada..Bueno muchas gracias de antemano..saludos a todos desde Madre de Dios-Peru....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calcular en un computed field

Publicado por Jancarlo (890 intervenciones) el 25/03/2007 18:42:41
Creas un ComputeField con la siguiente expresión:

max(if( semanas < 37, semanas ,0))

/* Lo que se hace es recuperar todos los valores menores a 37, terminado esto recién tomará el máximo usando la función Max y lógicamente ninguno será mayor a 37 ya que en la lista sólo filtraste a los que son menores */

Ahora ya depende de ti si el número 37 lo vuelves parametrizable utilizando un argumento.

Espero te sirva de ayuda.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Calcular en un computed field

Publicado por Denys Alberto (109 intervenciones) el 26/03/2007 15:04:18
Hola amigo..gracias por tu respuesta, la expresion esta bien,pero lo q deseo hacer es cuantas filas q contengan esos valores(osea menores a 37 )se encuentra en la Tabla, con la expresion q escribiste solo se logra ver en el compute field el numero 36, pero no la cantidad de cuantos tienen este valor(<37)bueno de antemano te agradezco por la respuesta..gracias un saludo desde Madre de Dios Peru..saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calcular en un computed field

Publicado por Leopoldo Taylhardat (710 intervenciones) el 26/03/2007 21:42:50
Saludos desde Maracay, Venezuela...

Creo que lo que quieres saber es ¿Que cantidad de líneas están en el rango que defino?... para eso tienes que trabajar con dos campos calculados....

El primero: vas a usar la funcón IF como te dijeron pero vas a asiganr el valor de 1 (uno) si esta en el rango y 0 (cero) si no está en el rango... a este campo le vas a asignar un nombre en las propiedades y lo colocas en el Detail del dw...
ej: nombre del compute field= valor_rango
Propiedad=IF(columna < 37,1,0)
El segundo campo solo va a tener la propiedad=sum(valor_rango for all) o grupo según tu necesidad...
En este caso el segundo campo va a tener la suma de todos los unos (valor_rango) del detalle.

Espero que te sirva...
El segundo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calcular en un computed field

Publicado por Jancarlo (890 intervenciones) el 27/03/2007 01:08:33
Disculpa sino te entendi. Pero como dijo leopoldo lo puedes hacer validando las filas que esten dentro del rango:

Todo lo puedes hacer en un solo compute:

Sum( If ( campo < 37, 1 , 0) )

Esto te arrojará el total de filas que estan dentro del rango especificado.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar