Sto costruendo una selezione collegata attraverso un insieme diDi- Grafici bivariati di gruppo. I grafici provengono da una tabella in formato lungo (una riga per ID per Modalità):</CODE></P>
<BR />
<BR />
<BR />
<PRE><CODE class=" language-jsl">dt << Bivariate(
Y( dt:Y ),
X( dt:X ),
By( :MODE )
);
Quello che voglio: quando clicco su un punto in uno deiDi-gruppiamo i grafici, voglio ogni punto negli altri grafici che condividono lo stesso:IDper essere selezionato anch'esso. Vorrei farlo senza ridimensionare la tabella in formato ampio (una riga per ID).
Cosa ho provato: Ho scoperto che un gestore dello stato della riga può riselezionare tutte le righe per gli ID corrispondenti. La mia implementazione attuale:
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 );
Il problema: questo funziona solo per la prima selezione nella tabella dati. Dopodiché, il gestore si comporta come se non esistesse più.
Le mie domande:
1. Perché il gestore dello stato della riga smette di essere eseguito dopo la prima selezione? (Mi chiedo se la modifica dello stato della riga all'interno del gestore sia la causa del suo arresto.)
2. Esiste un modo per risolvere questo problema in modo che il gestore rimanga attivo anche dopo selezioni ripetute?
3. Esistono approcci migliori alla selezione legata all'ID?Di-Grafici di gruppo che dovrei considerare in alternativa?
Grazie in anticipo.
Molto probabilmente riceverai un messaggio di log che ti spiegherà cosa sta succedendo.
Loop detected earlier
e a volte più utile
Row State Handler is in a loop
Row States should not be changed by Row State Handler.
Sì, ho capito il messaggio.
Loop detected earlier
Esiste un modo migliore per affrontare questo problema?
Non mi vengono subito in mente buone idee quando utilizzo tabelle di dati bivariate + by + impilate.
Utilizzare una tabella con formato divise (ampio) sarebbe l'opzione migliore. Se è possibile utilizzare Graph Builder per il grafico, è possibile usarlo con una formula per ottenere un risultato simile utilizzando la sovrapposizione/colore (non selezionerà le righe).