Power Builder - datawindow compuesto

 
Vista:

datawindow compuesto

Publicado por neko (26 intervenciones) el 08/02/2006 22:06:46
Buenas es para saber si alguien puede ayudarme con esta incognita.

Es posible realizar un datawindow compuesto que trabaje en forma de listado dos o mas tablas?, por ejemplo

el datawindow define segun ciertos parametros los campos: a b c y

a

b c y
b c y
b c y

estando b c y agrupados por a

pero tambien tengo

d e f z que son parte de otra tabla y deben de estar agrupados por d
d
e f z
e f z
e f z

es posible hacer que en un mismo datawindow suceda masomenos esto:

a
b c y
b c y
b c y
d
e f z
e f z
e f z

Muchas gracias.
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:datawindow compuesto

Publicado por Jancarlo (890 intervenciones) el 09/02/2006 05:13:59
Claro... crea el query de tu dw con dos select utilizando la sentencia UNION. A cada una le agregas una columna de artificio para que luego puedas agrupar los datos. Te pongo un ejemplo sencillo.

//Crea un dw tipo group

SELECT COD_EMPLEADO AS CODI,
NOM_EMPLEADO AS NOMB,
'E' AS GRUPO
FROM MAESTRO_PERSONAL
UNION
SELECT COD_PROVEEDOR AS CODI,
DES_PROVEEDOR AS NOMB,
'P' AS GRUPO
FROM MAESTRO_PROVEEDORES

Luego al hacerle un return te pedirá que señales la columa por la cual se agruparán los datos, es ahi donde le indicas la columna que utlizas como artificio para crear el grupo. En este caso la columna se llama GRUPO.

De esta manera puedes agrupar los datos de dos tablas, sólo debes tener en cuenta que al final la estructura debe ser la misma y aveces, por no decir siempre, tendrias que utilizar unos alias para el nombre de las columnas.

Espero que 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

RE:datawindow compuesto

Publicado por neko (26 intervenciones) el 09/02/2006 21:20:23
Muchisimas gracias la idea me parece de veras genial y ya la estoy implementando, solo que tengo ahora un problema que realmente no comprendo debido a que no entiendo bien como funciona esto de las uniones de query.

Cada vez que realizo el segundo select para montar la union me dice:

this union is not union compatible

Y realmente no entiendo porque la union no es compatible, lo mas probable es que me este faltando indicar algo, pero que esa es mi pregunta,

por otro lado lo de la columna ficticia, podrias explicarme mas detalladamente que es 'E' y que es GRUPO.

Creo que grupo es la columna sobre la cual se genera la agrupacion de los registros para cada uno de los selects, pero no entiendo que seria E y P ni tampoco porque ambas se declaran sobre el nombre de la columna que estoy usando para agrupar los selects.

Senalo que para hacer las agrupaciones uso columnas diferentes para cada select debido a que son tablas completamente diferentes. Por cierto el ejemplo seria

tabla A
tabla B
tabla C

tabla A esta directamente relacionada con B

tabla B esta relacionada con C mediante una relacion hecha, en pocas palabras no se relacionan por ninguna llave, mas bien la relacion es de equidad de dos campos que son iguales.

A tiene
d e f

B tiene
g h i

C tiene
j k l

y necesito que el datawindow haga mas o menos esto

agrupado por d
d g e f
d g e f
d g e f
agrupado por j
j g k l
j g k l
j g k l

Agradeceria muchisimo si pudieras ayudarme con este dilema.
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:datawindow compuesto

Publicado por Rosa (19 intervenciones) el 09/02/2006 08:43:35
Prueba de hacer una Union de selects.
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:datawindow compuesto

Publicado por Jancarlo (890 intervenciones) el 10/02/2006 02:19:56
Hola.... en mi ejemplo el valor 'E' era para identificar a los Empleados y el valor 'P' para identificar a los Proveedores. Con respecto a "GRUPO", es el nombre que le doy a la columna ficticia para crear el grupo, puede ser el nombre que tu desees y no necesariamente "GRUPO".

Cualquier duda hazla saber

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