Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Selección exclusiva

Buenos días.

Estoy tratando de hacer una informe en el que tengo un cuadro de lista con componentes y una tabla con productos en los que se usan los componentes. La idea es poder seleccionar un componente y que en la tabla se muestren todos los productos que NO lleven ese componente.

Mi intención inicial ha sido hacer un concat() del campo elemento y almacenar este dato en una variable. Clonar este campo y deducir de la variable que contiene todos las selecciones realizadas en el campo clonado (que estaría desvinculado del modelo).

Pero no he logrado hacerlo funcionar.

¿Voy muy desencaminado? , ¿Alguna idea de como hacerlo?.

Muchas gracias de antemano. 

19 Replies
alex_millan
Creator III
Creator III

Te adjunto fichero con alguna modificación:

- El campo EXCLUIR no se relacionaba con el campo ELEMENTO, ahora sí

- Cambio la dimensión de la tabla a PRODUCTO

- Ajusto y dejo sólo la expresión relativa a la descripción

Yo creo que es lo que necesitas.

Ya me dirás.

jvitantonio
Luminary Alumni
Luminary Alumni

Hola, aqui te adjunto una posible solucion.

Saludos

Juan

Not applicable
Author

Ahora ya funciona !!!!   no se porque estaba empeñado en desconectar el excluir el modelo para que no entorpeciese las selecciones, supongo que por la idea inicial del concat y trabajar con variables.

Muchas gracias !!!!!

alex_millan
Creator III
Creator III

Puedes desconectarlo sin problema si quieres. En el ejemplo de Juan verás que lo desconecta y simplemente en la expresión modifica la partícula set:

Only({<ELEMENTO =- EXCLUIR>}PRODUCTO_DESC)

o bien

Only({<ELEMENTO = E(EXCLUIR)>}PRODUCTO_DESC) - tal y como ha hecho Juan-

En cualquier caso, me alegro que lo hayas solucionado.

Un saludo

Not applicable
Author

Los dos ejemplos que me habéis proporcionado funcionan perfectamente con el set de datos de ejemplo que había subido. Ahora bien al implementarlo con los datos reales, veo que hay un problema que hace que no funcione correctamente Lo explico con los datos de ejemplo:

para la tabla de datos:

   

ELEMENTOPRODUCTOPRODUCTO_DESC
1aPRD.A
2bPRD.B
3cPRD.C
4dPRD.D
5ePRD.E
6fPRD.F
7gPRD.G
7jPRD.J
8hPRD.H
8kPRD.K
8lPRD.L
8mPRD.M
9mPRD.M

Si decido mostrar todos aquellos productos que no se han fabricado con el ELEMENTO 8, no deberían salir los productos H, K, L, M  puesto que se fabrican con este ELEMENTO 8, sin embargo los resultados obtenidos son:

 

PRODUCTOOnly({<EXCLUIR =- EXCLUIR>}PRODUCTO_DESC)
aPRD.A
bPRD.B
cPRD.C
dPRD.D
ePRD.E
fPRD.F
gPRD.G
jPRD.J
mPRD.M

El producto M sigue saliendo ya que también se usa el producto 9  en su fabricación.

¿Alguna idea de como solucionarlo?

Not applicable
Author

¿Alguna idea?

sorrakis01
Specialist
Specialist

Hola Juan,

Ayer lo miré un buen rato (y al final me lo tomé hasta como un reto personal).... sin encontrar la solución al caso que planteas, pero seguiré mirandolo cuando tenga un ratito. Mi idea va encaminada en hacer una intersección pero no tengo el resultado óptimo.

Saludos,

aramirez
Contributor II
Contributor II

Hola Juanan,

Si lo que necesitas es que en el la tabla no se muestren los productos que contienen los elementos seleccionados creo que el ejemplo que te adjunto te servirá para solucionarlo.

Un saludo

alex_millan
Creator III
Creator III

La solución de Alfredo funciona muy bien, duplica el campo PRODUCTO en la tabla EXCLUIR y así facilita el filtro de los resultados en la tabla por los dos campos (EXCLUIR y PROD_EXCLUIR).

Muchas gracias por el aporte Alfredo,

un saludo

Not applicable
Author

Que grande !!!   muy bueno como siempre Alfredo !!!        Te debo una (Bueno, una mas )