Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoCIAO,
quando un commutatore di colonne è collegato a un grafico, JMP sembra verificare la presenza di colonne "già esistenti" nel grafico e rimuoverle dall'elenco delle voci del commutatore di colonne.
Nella maggior parte dei casi, questa è una funzionalità interessante perché impedisce le collisioni del commutatore di colonna e dei collegamenti già esistenti tra il grafico e la colonna.
Ma a volte ci sono casi in cui questa funzionalità fa male.
Nell'esempio seguente 3 colonne sono condivise dai 2 commutatori di colonna per gli assi X e Y del grafico, ma i valori iniziali vengono automaticamente rimossi dal commutatore di colonna "altro":

Può esserci ancora una collisione per "peso". Ma se si tenta di impostare entrambi i selettori di colonna su "peso", ciò viene rilevato e impedito automaticamente.
Quindi, in questo caso, la rimozione automatica non è così utile come dovrebbe essere.
Come reinserire i valori mancanti nell'elenco?
Una soluzione alternativa consiste nell'iniziare con valori iniziali senza significato del grafico (che possono quindi essere rimossi dall'elenco dei commutatori di colonne) e quindi modificare i valori iniziali tramite JSL in valori più significativi.
Esiste un modo più semplice, ad esempio un parametro per il comando LinkPlatform per disabilitare la rimozione automatica?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("test",
cs1=dt << Column Switcher(:sex, {:sex, :height, :weight});
cs2=dt << Column Switcher(:height, {:sex, :height, :weight});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
Modellazione statistica avanzataAutomazione e scriptingRicerche sui consumatori e sul mercatoCombinazione e pulizia dei datiEsplorazione e visualizzazione dei datiPersonalizzazione di massaCondivisione e comunicazione dei risultatiRi: Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoSe vengono sostituite più apparizioni della stringa nel codice di quanto originariamente previsto, funziona anche con le formule definite "inline"?
ad esempio, posso utilizzare un commutatore di colonna per modificare un grafico della probabilità cumulativa (asse X e Y) in un'altra variabile?
--> hm, sfortunatamente no. viene modificato solo l'asse x, la formula utilizzata sull'asse y rimane la stessa 
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y(
Transform Column(
"Cumulative Probability[height]",
Formula( Col Rank( :height ) / (Col Number( :height ) + 1) )
)
)
),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Column Switcher( :height, {:height, :weight} )
)Ri: Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoA proposito:
bisogna fare attenzione a usare nomi di colonne fittizi che siano abbastanza complicati. Con "x" e "y" ho avuto fortuna.
Il codice seguente termina con l'avviso:
Cannot find OutlineBox[ "Grweightph Builder" ] at {}Sembra che il primo trigger di ColumnSwitcher abbia cambiato la "a" nel codice della casella di contorno "Graph Builder" in "peso"
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("a");
new window("test",
cs1=dt << Column Switcher(:a, { :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :a ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, Set Title( "test" ) )
)
));
cs1 << Link Platform(gb );
cs1 << Set Current("weight");
cs1 << Set Current("sex");Ri: Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoNelle versioni precedenti di JMP, il commutatore di colonna disattivava tutte le istanze della colonna scelta. Quindi, se avessi adattato y per x, se avessi selezionato una colonna per l'asse verticale che fosse uguale a "x", allora per tutte le colonne scelte successivamente, x e y verrebbero entrambe sostituite. Nelle versioni recenti di JMP, ciò è stato impedito con l'avviso che hai menzionato. La storia dietro mi dice che il commutatore di colonna non è legato a un asse o a un valore di raggruppamento, piuttosto cerca di sostituire tutte le istanze e le nuove versioni di JMP stanno solo prevenendo le collisioni.
Ricevo lo stesso avviso con il codice che hai pubblicato sopra.Se è necessario farlo, considera la possibilità di creare uno script con due caselle di riepilogo. Quando viene selezionata una colonna diversa, elimina il grafico, ottieni entrambe le colonne x e y e ridisegna il grafico. Puoi usare Questo come referenza.
Ri: Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoQuesta è la versione con i valori iniziali fittizi.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("x");
dt << new column("y");
new window("test",
cs1=dt << Column Switcher(:x, {:height, :weight, :sex});
cs2=dt << Column Switcher(:y, {:height, :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
cs1 << Set Current("weight");
cs2 << Set Current("height");Ri: Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoCiao Jamo.
Sì, il tuo esempio è sicuramente uno dei tanti casi in cui:
questa è una caratteristica interessante perché impedisce le collisioni del commutatore di colonna e dei collegamenti già esistenti tra il grafico e la colonna.
Sono completamente d'accordo.
Nella maggior parte dei casi la funzionalità di rimozione automatica aiuta, senza dubbio.
La maggior parte delle volte, ma non sempre.
Per N>=2 selettori di colonna e N>2 voci negli elenchi l'utente può scorrere i selettori di colonna all'infinito attraverso versioni interessanti del dashboard.
E qualsiasi collisione è prevenuta dall'avviso "impossibile cambiare".
Quindi, un parametro sarebbe utile per abilitare o disabilitare la funzione.
Ri: Il collegamento di un commutatore di colonne a un grafico rimuove le voci dall'elencoMi sto solo chiedendo cosa vorresti che accadesse se ti trovassi nella seguente situazione:
- Asse X: altezza, asse Y sesso
- Commutatore di colonna che tenta di averli entrambi
- Si modifica il valore nel commutatore di colonna. Quale valore dovrebbe essere aggiornato e come?
Semplice esempio in cui l'altezza verrà rimossa, perché stiamo inizializzando il commutatore di colonna sull'asse X con :sex e :height viene rimosso perché è già sull'asse Y.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("test",
gb = dt << Graph Builder(
Size(534, 460),
Show Control Panel(0),
Variables(X(:sex), Y(:height)),
Elements(Points(X, Y, Legend(1))),
)
);
gb << Column Switcher(:sex, {:sex, :height, :weight});
Se un commutatore di colonna tenta di modificare più elementi nel grafico contemporaneamente, uno di questi verrà rimosso e verrà stampato nel registro con il nome della colonna rimossa:
Nell'analisi sono state utilizzate alcune colonne scelte. Le seguenti colonne sono state eliminate dall'elenco di selezione per evitare sostituzioni involontarie.
altezza