Seleziona colonne specifiche con il nome JSL che contiene il codiceIl nome contiene lo script:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( "a" );
delviers tutte le colonne, che contiene a. Quale codice deve essere aggiunto per contrassegnare una di queste colonne facendo clic o doppio clic sulla colonna dalla casella di riepilogo?
Ri: selezionare colonne specifiche con nome JSL contenente codice@ram_asra_gmail_ , questo collegamento è al post che descrive la creazione di un'interfaccia di ricerca e selezione ListBox.Mentre parte della discussione utilizza l'oggetto Classe JMP che è disponibile in JMP14, il primo post descrive l'interfaccia utilizzando le funzioni: funziona su JMP 13.
Vedere https://community.jmp.com/t5/Discussions/Can-a-scripted-quot-widget-quot-be-converted-to-a-Class/mp/182529#M40268
I file allegati al post originale (TEB_LB_Widget.JSL, TestTEBSelector.jsl, TestLBFilter.jsl) sono spiegati nel post con schermate.
Ri: selezionare colonne specifiche con nome JSL contenente codiceInoltre, possiamo fare un filtro simile per gli elementi in un elenco? Grazie ramRi: selezionare colonne specifiche con nome JSL contenente codiceOttimo esempio. Potresti anche avere jsl simile per il selettore di riga per una colonna?
Grazie
ariete
Ri: selezionare colonne specifiche con nome JSL contenente codicePerfetto!
Ora JSL funziona come previsto. Questo rende le cose molto più facili. Grazie ancora.
Ri: selezionare colonne specifiche con nome JSL contenente codice
JMP 13.2.1 ha dt << Go To (col ref) ; Non ho 13.1. Quindi, ecco un caso di prova. Se funziona, lo script modificato è allegato. ha aggiunto JSL per portare la finestra in primo piano () e vai a ()
Names Default to Here(1);
dt = open("$Sample_Data/Semiconductor Capability.jmp");
//select a column towards the end of the table
:PM_L1 << set selected(1);
wait(2);
dt << go to(:PM_L1);Ri: selezionare colonne specifiche con nome JSL contenente codiceHai ragione. Il tuo codice funziona. Il mio errore è stato il nome dell'icona. Non ho usato uno spazio vuoto.
Dopo che il nome dell'icona è stato cambiato in "Ricerca colonna", funziona perfettamente.
Un'ultima domanda a questo argomento sarebbe quale codice deve essere aggiunto allo script per non solo selezionare la colonna trovata, ma anche per andare alla colonna trovata?
Ciò migliorerebbe ulteriormente l'intero processo nel caso in cui la colonna non si trovi nella parte visibile della finestra.
Ri: selezionare colonne specifiche con nome JSL contenente codiceNon so cosa intendi per " dopo che la finestra di dialogo è stata chiusa (tramite l'icona nella barra degli strumenti) ".
Quale icona? È uno script personalizzato?
Quando si dispone di uno script che viene eseguito, ma non viene eseguito in condizioni diverse, la maggior parte delle volte si tratta di un problema di ambito.Ad esempio, il primo script che ti ho dato per JMP13 e 12 ha funzionato, tuttavia, se la tabella dei dati corrente è cambiata mentre la finestra di dialogo era ancora aperta, la sintassi :colname non funzionerà. Era una debolezza nel mio programma. Tuttavia, quando ho convertito :colname in una stringa "colname" utilizzando la funzione char() e facendo riferimento alla tabella di origine, è robusto.
Quindi qualunque cosa tu stia facendo tramite l'icona o seguendo lo script sta creando un problema di scoping e una versione di JMP non risolverà il problema.Quindi, dal momento che non hai condiviso ciò che stai facendo, posso solo indicare alcune cose da cercare:
- Lo script deve utilizzare i nomi predefiniti qui, se si dispone di altri script che fanno riferimento a dt.
- Assicurati che la tabella di destinazione originale sia la tabella corrente prima di fare nuovamente clic sul pulsante dello script. (La barra dei menu visualizza l'elenco delle tabelle).
Penso che potresti avere un problema di scoping o un problema di blocco della tabella. Buona fortuna a trovarlo.
Ecco uno screenshot, ho aggiunto lo script come componente aggiuntivo. L'ho usato molte volte mentre facevo altre cose, usandolo su tabelle diverse e poi usandolo di nuovo e funziona allo stesso modo sia in JMP 13 che in JMP 12.Non è un problema di versione.

Ri: selezionare colonne specifiche con nome JSL contenente codiceAncora grazie per il supporto e la pazienza.
Lo script è migliore, ma come già accennato, è ancora possibile ottenere nessuna funzione. Ad esempio, dopo che la finestra di dialogo è stata chiusa (tramite l'icona nella barra degli strumenti) e rum di nuovo per una seconda ricerca e selezione eseguita sulla stessa tabella di dati. Forse le cose miglioreranno con JMP 14.
Ri: selezionare colonne specifiche con nome JSL contenente codiceL'ultimo script che ho inviato (modificato per Current Data Table ) funziona sia per JMP 12 che per JMP 13. Ecco uno screenshot di JMP 12. Come mostra la schermata, questa è la tabella dei dati di esempio di JMP.
Tuttavia, lo script non funzionerà se la tabella di dati corrente cambia perché << Ottieni colonne selezionate, restituisce un elenco di riferimenti di colonna, non il nome della tabella.Quindi :Chloroform restituirà un errore se la tabella di dati corrente non ha quella colonna.Quindi, per rendere lo script più robusto, ho cambiato la riga 18 sotto al JSL sotto.La sceneggiatura è allegata.Dovrebbe anche se la tabella originale non è più la tabella dati corrente. Tuttavia, se lo script (Here) modifica il valore di dt mentre la finestra di dialogo è ancora aperta, si verificherà una collisione di nomi che causerà un problema. Oppure, se la tabella originale viene chiusa quando la finestra di dialogo è ancora aperta, si verificheranno dei problemi.
For(i=1, i<=nitems(_xx), i++, column(dt, char(_xx[i])) << set selected(0));

Ri: selezionare colonne specifiche con nome JSL contenente codiceIl JSL sta ora lavorando con il satrting JSL:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Se il JSL è generalizzato (per usarlo in una barra degli strumenti icona) in JMP 13.1.0 come:
Names Default To Here( 1 );
dt = Current Data Table();
Mi imbatto nel vecchio problema => Nessuna selezione di colonne. Sai se questo è specifico per JMP 13.10.0?
Se sì, non provare a risolverlo. Spero di avere presto JMP 14.
Ri: selezionare colonne specifiche con nome JSL contenente codiceGrande. Ora JSL funziona con JMP 13.1 . Apprezzo davvero la tua resistenza e quella di Ian nel risolvere la questione.
Molte grazie
Ri: selezionare colonne specifiche con nome JSL contenente codicePerdonami per quello. Ho JMP 13.1
Ri: selezionare colonne specifiche con nome JSL contenente codiceQuesto script funziona in JMP 12 e JMP 13. Il motivo per cui lo script precedente non funziona nelle versioni precedenti di JMP è che i messaggi della tabella dati cancellare le selezioni di colonna E seleziona colonne (lista) non sono disponibili. Nelle versioni precedenti, le colonne devono essere selezionate e deselezionate una alla volta, quindi le modifiche richieste di seguito. Non ho accesso a nessuna versione precedente a JMP 12.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>
Ri: selezionare colonne specifiche con nome JSL contenente codiceQuale versione di JMP stai utilizzando.
Quando eseguo lo script che ho inviato, ecco cosa succede:
- viene visualizzata la finestra di dialogo con la casella del filtro
- digitare UN , quindi selezionare l'età, l'età è evidenziata; seleziona il nome quindi viene selezionato il nome; tieni premuto il tasto di controllo e seleziona l'età ed entrambi sono selezionati.
- eliminare UN e digitare ei quindi vengono selezionati peso e altezza, comportamento simile a quello precedente.
Spiacente, non funziona per te.Lo script che ho inviato funziona su JMP 14.1 sul PC. Non funziona in JMP 13.2.1, prima di cercare un'alternativa, quale versione di JMP stai usando?
Ogni volta che fai una domanda devi sempre specificare la versione di JMP che stai utilizzando.
Ri: selezionare colonne specifiche con nome JSL contenente codiceGrazie per la tua resistenza. Lo apprezzo molto. Tuttavia JSL non funziona ancora come previsto (vedi immagine).
L'obiettivo è ottenere la stessa funzione che si ottiene utilizzando Cols / Columns Viewer / Name Contains. I risultati, che vengono mostrati nella casella di ricerca, possono essere cliccati e come risultato, la colonna specifica viene selezionata nella tabella dei dati di origine.
Nel caso in cui sia disponibile il codice JSL corretto, l'intero processo di ricerca/selezione della colonna può essere eseguito molto più velocemente.

Ri: selezionare colonne specifiche con nome JSL contenente codiceProva questo
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>Ri: selezionare colonne specifiche con nome JSL contenente codice
Mi sto perdendo qualcosa. Non riesco ad accedere alla colonna selezionata nella tabella dei dati.
Ri: selezionare colonne specifiche con nome JSL contenente codiceCapito:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ) )
);
ib = (fcb<<PARENT></PARENT>Ri: selezionare colonne specifiche con nome JSL contenente codiceGrazie per il tuo supporto Ian. Non funziona ancora come vorrei.
Sto cercando il codice JSL con il quale posso cercare in generale colonne specifiche per nome (part1) e quindi selezionare la colonna desiderata nella casella di riepilogo da part1 facendo doppio clic e contrassegnare la colonna nella tabella dei dati.
La parte di ricerca generale 1 viene eseguita con il codice JSL:
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Column Search",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( );
La marcatura part2 potrebbe essere eseguita per l'esempio come il codice dall'indice di scripting
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
dt << Go to( :BP 12F );
Come devono essere combinati per trovare, contrassegnare e andare alle colonne in una tabella di dati?
Ri: selezionare colonne specifiche con nome JSL contenente codiceIan,
Questa è in qualche modo una domanda correlata. Poiché la risposta del blogger aveva lb<< Name Contains(), ho ipotizzato che la richiesta fosse per l'utente di inserire un campo filtro e tutte le colonne sarebbero state selezionate.
Quindi ho provato a esporre il campo Filtro (Mostra filtro). Ho fallito in più tentativi di abilitare questa seconda voce di menu tramite JSL.
Esiste un metodo per abilitare il campo filtro e configurare il filtro? Posso ottenere il conteggio del menu PopupBox e il testo del menu, ma non la selezione.

Ri: selezionare colonne specifiche con nome JSL contenente codiceNon sono sicuro di aver capito bene, ma è questo che cerchi?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Make a FilterBoxSelector
New Window( "Filter Col Selector Example", lb = Filter Col Selector( width( 250 ) ));
// Define and set an 'action' script
actionScript =
Expr(
selected = lb << getSelected;
dt << clearColumnSelection;
dt << selectColumns(selected);
);
lb << setScript(actionScript);
// Try it out
lb << Name contains("sex");
Wait(3);
lb << Name contains("eight");Ri: selezionare colonne specifiche con nome JSL contenente codiceGrazie per la tua risposta.Sfortunatamente, non ho ottenuto i risultati con l'aggiornamento JSL. In questo momento, non so perché.
Quello che voglio veramente è ottenere un comportamento simile come per Cols / Columns Viewer ... / Name Contains ... in JMP.
In generale, questo è possibile con il codice JSL menzionato dallo Scripting Index:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( );
Tuttavia, dopo che la stringa di ricerca è stata eseguita, vorrei contrassegnare la colonna desiderata/selezionata nella tabella dei dati, facendo doppio clic. Questa parte è ancora mancante o non funziona all'interno del codice JSL dello Scripting Index.
Ri: selezionare colonne specifiche con nome JSL contenente codiceProva questo
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( "a" );
//select name
_xx = lb << get items;
_idx = Contains(_xx, "name");
lb << set selected( _idx, 1); //or 0 to unselectPer vedere i messaggi disponibili per un oggetto selezionare Menu principale > Indice di scripting > Casella di visualizzazione > FilterColSelector