Il commutatore di colonne consente di analizzare rapidamente diverse variabili senza dover ricreare l'analisi. JMP 16 include diverse usabilità e miglioramenti funzionali al commutatore di colonne. Di seguito sono riportati alcuni dei punti salienti.
Finestra di dialogo Launcher migliorata
Ora è disponibile un'unica finestra di dialogo per la configurazione del commutatore di colonne. La finestra di dialogo include due elenchi.

L'elenco in alto contiene le colonne utilizzate nella piattaforma che sono disponibili per il cambio. È possibile selezionare una sola colonna alla volta in questo elenco. Questa è chiamata la colonna iniziale.
L'elenco in basso contiene le colonne della tabella dati che possono essere trasferite nella piattaforma. Queste sono le colonne di sostituzione e questo elenco supporta più selezioni. L'elenco in basso è dinamico in quanto il contenuto potrebbe cambiare a seconda della colonna iniziale selezionata. Entrambi gli elenchi supportano varie operazioni di filtraggio e ordinamento nel menu del triangolo rosso.
Sono disponibili ulteriori opzioni sotto la struttura Opzioni. Il titolo consente di impostare il titolo per il contorno attorno al commutatore di colonne. Il commutatore di colonne può essere avviato anche in posizione chiusa selezionando la casella di controllo Chiudi struttura.
Miglioramenti al selettore di colonne
Se hai dimenticato una colonna durante la creazione del commutatore di colonne o hai aggiunto una nuova colonna alla tabella dati dopo aver creato il commutatore di colonne, ora puoi aggiungere (o rimuovere) colonne dall'elenco del commutatore di colonne dopo la creazione. Ci sono pulsanti aggiungi (+) e rimuovi (-) accanto all'elenco Commutatore di colonne che avviano finestre di dialogo separate per manipolare l'elenco di colonne. La finestra di dialogo Aggiungi consentirà solo nuove colonne adatte alla piattaforma corrente e alla colonna switch.
Animazione in loop
C'è un nuovo pulsante mostrato di seguito nei controlli dell'animazione che controlla se l'animazione scorre continuamente sulla colonna di sostituzione disponibile o se si ferma quando arriva in fondo all'elenco. Per impostazione predefinita, il loop è abilitato. Tuttavia, l'attivazione del pulsante disabiliterà il looping. Questo può essere utile se stai registrando l'animazione e vuoi catturare solo un passaggio attraverso le colonne.

Mantenimento delle impostazioni degli assi
Per impostazione predefinita, la maggior parte delle piattaforme ripristina gli assi quando si cambia colonna. Ciò ha senso se i dati sull'asse sono significativamente diversi tra le colonne e si desidera visualizzare l'intera estensione dei dati per ciascuna colonna. Tuttavia, ci sono momenti in cui desideri che l'intervallo degli assi (e potenzialmente altre opzioni come le linee di riferimento) rimanga in modo da poter confrontare le colonne nello stesso contesto. C'è una nuova impostazione nel menu del triangolo rosso chiamata Mantieni impostazioni dell'asse. Questo è spento per impostazione predefinita. Se attivato e c'è qualche personalizzazione dell'asse come l'impostazione della scala o l'aggiunta di una linea di riferimento, queste impostazioni non andranno perse quando si passa da una colonna all'altra.
Di seguito è riportato un esempio in cui l'intervallo dell'asse e la linea di riferimento sono bloccati mentre il commutatore di colonne è in esecuzione. Ciò consente all'utente di vedere come i dati cambiano nel tempo senza perdere il contesto sull'asse y.
Collegamento di più piattaforme allo stesso commutatore di colonne
Questa è una funzionalità più avanzata che è attualmente supportata solo tramite JSL e in Dashboard Builder. Consente a un singolo commutatore di colonna di controllare più piattaforme. Ciò crea una certa complessità poiché tutte le piattaforme devono contenere la stessa colonna di commutazione iniziale e devono supportare l'elenco delle colonne di sostituzione.
Il processo di collegamento di una piattaforma a un commutatore di colonne esistente è relativamente semplice. È sufficiente un riferimento a un commutatore di colonne e un riferimento a una piattaforma, quindi utilizzare il comando Collega piattaforma. Non è necessario che le piattaforme si trovino nella stessa finestra, anche se spesso è più facile tracciare l'interazione se lo sono.
Esempio di collegamento di due piattaforme in finestre separate:
// Open the data table
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a distribution platform
dist = dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Always use column properties( 1 ),
Process Capability( 0 )
),
Histograms Only
);
// Add a column switcher to the distribution
cs = dist << Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7}
);
// Create a Fit Y by X platform
biv = Bivariate( Y( :Process 1 ), X( :Process 2 ) );
// Link the platform to the column switcher
cs << Link Platform(biv);
Esempio di combinazione delle piattaforme in un'unica finestra:
// Open the data table
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a new window to hold the platforms and column switcher
New Window( "Multiple Platforms with one Column Switcher",
H List Box(
V List Box (
dist = dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Always use column properties( 1 ),
Process Capability( 0 )
),
Histograms Only),
biv = Bivariate( Y( :Process 1 ), X( :Process 2 ) )
),
cs = dt << Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7} )
)
);
cs << Link Platform( dist );
cs << Link Platform( biv );
Ho allegato un esempio di un commutatore di colonne collegato in una dashboard a questo articolo. Questo esempio utilizza il file di dati Process Measurements.jmp dalla directory Samples.
Preferenze
Ora ci sono Preferenze che possono essere impostate per il commutatore di colonne. Questi hanno lo scopo di semplificare la creazione di nuovi commutatori di colonna.
Includere sempre la colonna degli interruttori nell'elenco di sostituzione
Un errore comune durante la creazione di un commutatore di colonne è quello di dimenticare di includere la colonna del cambio iniziale nell'elenco delle colonne di sostituzione. Di conseguenza, una volta che esci dalla configurazione iniziale non puoi tornare indietro perché quella colonna non è nell'elenco. Con i miglioramenti in JMP 16, è possibile utilizzare il pulsante Aggiungi per aggiungere la colonna iniziale all'elenco. Tuttavia, questo è un lavoro extra. Inoltre, la finestra di dialogo di avvio ora ti chiede se non includi la colonna switch nell'elenco di sostituzione, quindi è meno probabile che ciò accada. Questa preferenza lo rende ancora più semplice poiché includerà automaticamente la colonna iniziale nell'elenco di sostituzione anche se non la includi e non ti chiederà di aggiungerla durante il lancio.
Conserva le impostazioni dell'asse durante la commutazione
Questa preferenza modifica l'impostazione predefinita per Mantieni impostazioni asse da OFF a ON.
Esegui l'animazione in loop
Ciò modifica l'impostazione predefinita per il pulsante del ciclo di animazione.
Titolo struttura predefinito
Per impostazione predefinita, il titolo della struttura per il commutatore di colonne è "commutatore di colonne". Questo può essere modificato durante il lancio nella sezione Opzioni. La preferenza può essere utilizzata per modificarla per tutti i nuovi switcher.
Questi sono alcuni dei punti salienti delle nuove funzionalità di Column Switcher. Sono state inoltre apportate numerose correzioni di bug e altri miglioramenti.
Ciao @David_Burnham - ci sono alcuni suggerimenti nella libreria della documentazione di JMP in "Anteprima di un dashboard" - forse è troppo facile perdersi in quella posizione.
Le grandi cose da sapere sono:
- Quando aggiungi inizialmente uno switcher a un dashboard, mostra tutte le colonne e ha la prima colonna selezionata per impostazione predefinita.In realtà non è connesso a nessuna piattaforma durante la modifica in Dashboard Builder.
- Per impostare la colonna iniziale e rimuovere le colonne che non desideri, passa alla modalità di anteprima per utilizzare l'interfaccia +/- del selettore di colonne
- Quando esegui la Dashboard, lo switcher si connetterà automaticamente a tutte le piattaforme nella finestra che appartengono alla stessa tabella di dati.È simile alla funzionalità di filtro dei dati nella dashboard.
Fammi sapere se questo chiarisce le cose!
-Dan
Ciao @dspa - stai sviluppando la tua applicazione utilizzando JSL o il generatore di applicazioni?La creazione di applicazioni JSL che funzionano per diverse tabelle di dati viene generalmente eseguita creando variabili per rappresentare le colonne che cambiano o manipolando espressioni per sostituire nomi di variabili per segnaposto prima di eseguire l'espressione.Questo può essere necessario per piattaforme e cose come il filtro dei dati o il selettore di colonne.
Nello script seguente ho utilizzato il primo approccio, creando una funzione che avvia una piattaforma con uno switcher di colonna.Quindi chiamo quella funzione utilizzando input da due diverse tabelle di dati.
Names Default To Here( 1 );
// create function to implement report
createReport = Function({dt, yvar, xvar, xoptionlist}, {Default Local},
obj = dt << Contingency( Y( yvar), X( xvar ) );
ColumnSwitcherObject = obj << Column Switcher(
xvar,
xoptionlist
)
);
// call the function using columns from different data tables
dt1 = Open( "$SAMPLE_DATA/Car Poll.jmp" );
createReport(dt1, Column(dt1, "size"), Column(dt1, "marital status"),
EvalList({Column(dt1, "sex"), Column(dt1, "country"), Column(dt1, "marital status")}));
dt2 = Open( "$SAMPLE_DATA/Cereal.jmp" );
createReport(dt2, Column(dt2, "Fiber Gr"), Column(dt2, "Manufacturer"),
EvalList({Column(dt2, "Manufacturer"), Column(dt2, "Hot/Cold")}));
Per esempi di manipolazione delle espressioni, vedere questo articolo su Inserisci un'espressione in un'altra usando Eval Insert, Eval Expr, Parse e Substitute.
Sto usando Application Builder, quindi non sono sicuro di come implementare la tecnica che stai descrivendo.
Ho l'utente che seleziona una variabile per l'analisi assegnata a yVar.Ho provato il codice seguente per modificare il mio commutatore di colonna in yVar, ma non ha funzionato.
// This special function will receive parameters passed to CreateInstance()
OnModuleLoad({list},
yVar = Column(list[1]);
ColumnSwitcher1 << Set Current(yVar);
);Sto cercando di utilizzare Column Switcher per animare i report sui dettagli individuali delle capacità di processo.Sembra che tu debba collegare tutta la tabella dei limiti delle specifiche quando selezioni per la prima volta le dimensioni che stai controllando.Se si tenta di passare a una dimensione per impostare l'automazione, accadono due cose.I già selezionati non sono selezionabili per l'animazione e tutti i nuovi elementi che provi a selezionare arrivano con limiti di specifiche errati Copiati dall'elemento che hai cambiato.
Come si usa lo switcher per animare la capacità del processo?
grazie per l'aiuto
JMP16
Ciao @CWBourneJr - purtroppo la piattaforma Process Capability disabilita esplicitamente il Column Switcher nei menu interattivi, a causa della complessità delle specifiche delle colonne che hai citato.Presumo che tu debba essere stato in grado di utilizzare JSL per attivare il commutatore di colonna sulla piattaforma: lo esaminerò e in tal caso lavoreremo per fornire un messaggio di errore.
Fortunatamente collega @Laura_Lancaster ha suggerito che potresti essere in grado di utilizzare la piattaforma di distribuzione con la sua opzione di capacità di processo disponibile per fare ciò di cui hai bisogno.Ecco un esempio che utilizza i dati di esempio:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Always use column properties( 1 ),
Histogram( 0 ),
Outlier Box Plot( 0 ),
Process Capability( Use Column Property Specs )
),
Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7}
)
);
Spero che sia d'aiuto!
-Dan