Estoy creando una selección vinculada en un conjunto dePor-Gráficos bivariados del grupo. Los gráficos provienen de una tabla de formato largo (una fila por ID por modo):</CODE></P>
<BR />
<BR />
<BR />
<PRE><CODE class=" language-jsl">dt << Bivariate(
Y( dt:Y ),
X( dt:X ),
By( :MODE )
);
Lo que quiero: cuando hago clic en un punto en uno de losPor-Gráficos de grupo, quiero cada punto en los otros gráficos que comparte el mismo:IDENTIFICACIÓNpara que también quede seleccionado. Me gustaría hacerlo sin cambiar el formato de la tabla a formato ancho (una fila por ID).
Lo que intenté: Descubrí que un controlador de estado de fila puede volver a seleccionar todas las filas para los ID coincidentes. Mi implementación actual:
f = Function( {row},
rows = dt << Get Selected Rows;
units = Associative Array( dt:ID[rows] ) << Get Keys;
dt << Select Where( Contains( units, :ID ) );
);
rs = dt << Make Row State Handler( f );
El problema: esto solo funciona para la primera selección en la tabla de datos. Después, el controlador se comporta como si ya no existiera.
Mis preguntas:
1. ¿Por qué deja de ejecutarse el controlador de estado de fila después de la primera selección? (Me pregunto si el cambio de estado de fila dentro del controlador es lo que provoca su fallo).
2. ¿Existe alguna forma de solucionar esto para que el controlador permanezca activo entre selecciones repetidas?
3. ¿Existen mejores enfoques para la selección vinculada a la identificación?Por¿Qué gráficos de grupo debería considerar en su lugar?
Gracias de antemano.
Lo más probable es que estés recibiendo un mensaje para registrarte que te indica lo que está sucediendo.
Loop detected earlier
y a veces uno más útil
Row State Handler is in a loop
Row States should not be changed by Row State Handler.
Sí, estoy recibiendo el mensaje.
Loop detected earlier
¿Existe una mejor manera de abordar este problema?
No se me ocurren buenas ideas rápidamente cuando uso tablas de datos apiladas bivariadas + por.
Utilizar una tabla con formato ancho (dividido) sería la mejor opción. Si puede usar el Generador de gráficos para la representación gráfica, puede emplear una fórmula para lograr un efecto similar mediante superposición/color (sin seleccionar las filas).