Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaUtilizzando il codice che ho trovato in questa discussione (Risolto: Come importare i dati selezionati da Data Filter() in una nuova tabella dati (usando JSL)? - Community utenti JMP; https://community.jmp.com/t5/Discussions/How-to-get-data-selected-by-Data-Filter-into-a-new-data-table/mp/642343 ) , sono in grado di scegliere combinazioni specifiche di età e sesso tramite il filtro dati e generare una tabella di sottoinsieme intitolata "Sottoinsieme di Big Class" che contiene solo le righe desiderate. Tuttavia, vorrei utilizzare le opzioni selezionate nel filtro dati per assegnare un titolo o rinominare il file di dati. Ad esempio, se seleziono età 13 e sesso femmina, vorrei assegnare automaticamente alla tabella il nome "Età 13 Sesso F Sottoinsieme di Big Class" o qualcosa di simile. Purtroppo, non riesco a capire come acquisire quei valori dal filtro dati o nello script.
Qualcuno potrebbe indicarmi la funzione, l'opzione o la sintassi corretta?
Immagino che potrei estrarli dai dati risultanti stessi, ma devo credere che ci sia un modo per memorizzare quei valori "alla fonte".
JMP 17
Grazie!
Automazione e scriptingRe: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaSenza sapere realmente come desideri che appaia il nome, forse darei prima un'occhiata alla clausola << Get Where che puoi inviare al filtro dati e ti darebbe qualcosa del tipo

"Select Where((:age == 12 | :age == 14) & (:sex == \!"F\!" | :sex == \!"M\!"))"
Puoi quindi estrarre
(:age == 12 | :age == 14) & (:sex == \!"F\!" | :sex == \!"M\!")
e usalo come nome
Re: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaGrazie per il suggerimento, Jarmo. Ho usato "Seleziona dove" in altri script. Purtroppo, ho bisogno dell'aspetto interattivo del Filtro Dati perché sarà diverso ogni volta che verrà eseguito. Non posso codificare opzioni specifiche come suggerito, a meno che non abbia frainteso la tua idea?
Per quanto riguarda il nome, posso adattarlo a qualsiasi formato, purché contenga le informazioni desiderate. Non mi preoccupo di creare il nome una volta che riesco a selezionare età e sesso in una variabile o in un oggetto che posso manipolare.
Re: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaUn'opzione è il formato ottenuto con la clausola << Get Where. Facoltativamente, è possibile estrarre i valori dalla tabella risultante in base alle colonne utilizzate nel filtro (è possibile farlo dalla tabella originale, ma è più semplice e probabilmente più veloce farlo dalla tabella dei risultati).
Re: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaEcco un esempio di creazione di un sottoinsieme di una tabella specificata dalle impostazioni di un filtro dati; il nome della nuova tabella è la clausola Where utilizzata per crearla. La tabella viene creata alla chiusura del filtro dati se sono state effettuate selezioni nel filtro.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window( "Select Parameters",
//<
<MODAL></MODAL> theClause = obj << Get Where Clause;
If( theClause != "",
dt << subset(
selected columns( 1 ),
selected rows( 1 ),
output table( Substr( theClause, 14, Length( theClause ) - 15 ) )
)
);
);
Re: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearla@txnelson Penso che tu abbia lasciato cadere
theClause = obj << Get Where Clause;
prima di Se.
Opzione di analisi tramite Regex (non sono sicuro che funzionerà in tutti i casi)
tbl_name = Regex(theClause, "Select Where\((.+)\)", "\1")
Re: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaSì, l'ho fatto...ho corretto la mia voce originale.
Re: Come rinominare una tabella di dati di un sottoinsieme in base alle selezioni del filtro dati utilizzate per crearlaGrazie mille! Funziona perfettamente. Apprezzo molto la lezione sull'uso corretto della clausola Get Where. Ho capito che il suggerimento di Jarmo era la strada giusta, ma quando l'ho provata, continuavo a ricevere un errore. Vedo che hai risolto il problema eliminando la modalità modale e inserendo il codice per gestire la chiusura della finestra. Sto imparando lentamente, ma sto imparando. Grazie ancora!