Graphbuilder e selezione incrociataEHI,
ho una tabella dati abbastanza grande simile a questo formato:

da cui creiamo una serie di generatori di grafici per visualizzare diversi tipi di test e test uno accanto all'altro, più o meno così (un tipo di test a destra con test come pagine e batch in sovrapposizione, e poi l'altro tipo di test su il diritto ma la stessa configurazione):

Vorremmo selezionare i lotti in un grafico e poi evidenziarli negli altri, ma poiché la selezione avviene sulle righe ovviamente queste non verranno evidenziate.
Volevo inserire un piccolo script per forzare i due graphbuilder a selezionare tutti i batch esistenti nella selezione, ma non riesco a farlo funzionare. Non riesco a trovare la funzione giusta da impostare rispetto al graphbuilder per acquisire un evento del genere.
Ho un piccolo script come questo selezionerà tutte le righe associate alle righe selezionate:
batches = AssociativeArray(:Batch[dt << get selected rows])<< Get Keys;
dt << Select Where( Contains( batches, :Batch ) );
Esiste una funzione che posso impostare sul graphbuilder che attiverà questo script contro una modifica della selezione?
Oppure c'era di meglio per ottenere ciò che stiamo cercando qui?
(Ci troviamo nei guai anche quando vogliamo cambiare i colori di alcuni batch e rifletterli su tutti i grafici poiché abbiamo il batchid come overlay. Penso di poterne uscire anche con lo script se riesco a trovare il file trigger giusti).
Ho cercato nell'indice degli script tutti i tipi di funzioni da impostare, ma non sembrano avere effetto sul generatore di grafici, ma non falliscono neanche.
Utilizzo JMP 17.1 per MacOS (14.3.1).
Grazie in anticipo,
Daniele
Automazione e scriptingEsplorazione e visualizzazione dei datiRi: Costruttori di grafici multipli e selezione incrociataNon ci sono davvero opzioni semplici per farlo al di fuori dell'utilizzo di un pulsante. Potresti essere in grado di utilizzare tabelle duplicate e gestori di stato di riga, ma suggerirei di farlo, poiché il gestore di stato di riga è molto difettoso in JMP
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt2 = dt << Subset(All Rows, Selected Columns(0), private);
f = Function({a},
selages = dt[a, "age"];
rowstoselect = dt2 << Get Rows Where(Contains(selages, :age));
rowstates = J(1, N Rows(dt2), 0);
rowstates[rowstoselect] = 1;
dt2 << Set Row States(rowstates);
);
rs = dt << make row state handler(f);
nw = New Window("",
H List Box(
gb = dt << Graph Builder(
Size(525, 490),
Show Control Panel(0),
Variables(X(:age), Y(:height), Group X(:sex)),
Elements(Bar(X, Y, Legend(12)))
),
gb2 = dt2 << Graph Builder(
Size(525, 448),
Show Control Panel(0),
Variables(X(:age), Y(:height)),
Elements(Bar(X, Y, Legend(4))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Fill Selection Mode("Selected Outlined")}
)
)
)
)
);
Creerò una voce della lista dei desideri riguardante questo tipo di casi, ma fino a quel momento ecco la voce della lista dei desideri nella speranza che JMP migliori i diversi gestori che abbiamo
Migliorare i gestori dello stato di JMP (etichetta al passaggio del mouse, gestore dello stato della riga, gestore dello stato del filtro, pianificazione, ...)
Ri: Costruttori di grafici multipli e selezione incrociataGrazie per la risposta Jarmo!
Gli darò un'occhiata e se funziona, tornerò semplicemente a creare un pulsante.
Non è carino ma immagino che almeno funzionerà 
Grazie ancora,
Daniele