Power Builder - Manipulación en Campos de DW

 
Vista:

Manipulación en Campos de DW

Publicado por Cristian Rodríguez (4 intervenciones) el 16/09/2002 17:21:54
Puede alguien ayudarme: Necesito saber si es posible manipular la matriz de datos de un DW en un mismo campo de un DW. Lo que necesito es: Tengo un reporte con cuatro columnas la última columna es el producto de una Columna4=Columna1+Columna2-Columna3. Ahora el problema es que la Columna1 es igual a un parámetro de entrada en caso de que sea la primera fila y sino es igual a la Columna 4. Espero que me entiendan y que me puedan ayudar. Gracias anticipadas
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:Manipulación en Campos de DW

Publicado por Milson Cardona (613 intervenciones) el 16/09/2002 19:40:26
Saludo especial desde la hermosa COLOMBIA.

no te he entendido muy bien: hay dos posibles respuestas a tu problema dependiendo de lo que quieres hacer

1 Si la columna1 debe almacenar la columna4 de la fila Anterior:
-debes crear una columna adicional columna5 oculta, en la banda SUMARY
-a esta columna adicional llevale columna4
-a la columna1 llévale la columna5.
esto es necesario hacerlo así porque de lo contrario, cuando el DW recupere una nueva fila, la columna1 no tendrá el dato de la columna4 de la fila anterior porque ya fue reemplazado.

2 Si la columna1 debe almacenar la columna4 de la fila actual(es decir las 2 columnas están en la misma fila):

-esto NO es posible hacerlo, ya que para calcular el valor de la columna4 necesitas que la columna1 tenga un valor, pero para calcular el valor de la columna1 necesitas antes haber calculado el valor de la columna4..... entonces si lo miras bien el resultado siempre será un valor NULO

espero que esto te sirva de algo.
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:Manipulación en Campos de DW

Publicado por Cristian Rodríguez (4 intervenciones) el 17/09/2002 16:25:04
Muchas gracias por tu respuesta e igualmente recibe un saludo desde Ecuador. Mira el caso es el primero de los que describes. Voy a intentarlo y te comento cualquier cosa. Pero que quieres decir con "llevale". Gracias
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:Manipulación en Campos de DW

Publicado por Milson Cardona (613 intervenciones) el 17/09/2002 16:45:31
en este caso, al decir llévale, quiero decir realmente que hagas igual columna5 = columna4

esto es necesario, porque como te dige antes, si asignas directamente la columna4, esta ya no tendra datos. mientras que la columna5 de la banda SUMARY, si tendrá los datos de la columna4 de la fila anterior.

intenta esto, y me cuentas como te va,

saludo desde COLOMBIA.

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:Manipulación en Campos de DW

Publicado por Cristian Rodríguez (4 intervenciones) el 18/09/2002 17:52:12
Milson muchas gracias por tu ayuda, pero te comento que me fue mal. Las columnas 1 y 5 salen en blanco. Me imagino que debe estar pasando algo como una referencia circular o algo así. Se te ocurre algo???
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:Manipulación en Campos de DW

Publicado por Ricardo (1957 intervenciones) el 16/09/2002 22:11:28
A ver si te entiendo:

1. Pides un parametro
2. En base a ese parametro debes de hacer algún retrieve para traer alguna información.
3. Encuentras el registro y te despliega las 4 columnas.
4. Ahora validas si la columna 1 es igual al parametro; sino toma el valor de la columna 4

Es correcto ?

Tienes mas registros ?

Si tienes mas registros utiliza un ciclo para leer todas las lineas, el que gustes, línea por línea validas:

1. El dato de la columna 1 es igual al parametro ?
2. Si es no, obtienes el dato de la columna 4 y el que sigue...

Si es así, espero te quede claro el ejemplo o la idea; sino, explicanos un poco más tu duda.

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:Manipulación en Campos de DW

Publicado por Cristian Rodríguez (4 intervenciones) el 17/09/2002 16:13:58
No creo que me expliqué bien. Hago una consulta, al momento de recuperar envió entre otros un parámetro. Si al recuperar, se está recuperando la primera fila; la columna1 será igual a este parametro, en caso contrario tiene que ser igual a la columna4 de la fila anterior. Espero haberles aclarado para ver si me pueden ayudar.
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:Manipulación en Campos de DW

Publicado por Ricardo (1957 intervenciones) el 17/09/2002 16:23:32
Ok, lo manejas igual, solo que en lugar de ser el mismo registro (row) utilizas el currentrow( ) - 1 para tomar el registro anterior. Nada mas valida en caso de ser el primer registro, para que no marque error.

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