Modifica il nome di più tabelle di dati prodotto di un sottoinsieme<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Vorrei cambiare in batch il nome di più tabelle aperte che sono un prodotto di un sottoinsieme di tabella.
Se utilizzo il seguente script per creare una sottoinsieme di una tabella denominata "MyData.jmp", ottengo tabelle con il nome della tabella originale seguita da uno spazio e un numero sequenziale (ad esempio "MyData 1", "MyData 2", "MyData 3" "," MyData n "). Invece vorrei dare a ogni tabella il nome del livello specifico della colonna con cui è stato sottoinsieme (come spiegato dopo lo script).
// Sottoinsieme di una tabella dati (per diversi livelli di colonna).
Tabella dati ("MyData.jmp") <<
sottoinsieme (
Per (: Ref),
Tutte le righe,
Solo colonne selezionate (0),
colonne (
:giorno,
:mese,
:griglia,
Rif:
)
)
D'altra parte, se inserisco la tabella ("MyData.jmp") usando l'interfaccia, ottengo nomi di tabelle come "Rif = P100_1", "Rif = P100_2", "Rif = P100_25". Significa che ho sottoteso la tabella per la colonna "Rif" e dopo "=" i livelli della colonna per cui compare il sottoinsieme. In questo caso, mi interessa avere solo la parte "P100_1", "P100_2", "P100_25" come i nomi delle tabelle. In questo caso avrei bisogno di eliminare in batch lo stesso testo da tutte le tabelle di dati ("Ref =").
Ri: modificare più nomi di tabelle di dati prodotto di un sottoinsiemeGrazie Ian @ JMP!
La sceneggiatura ha funzionato molto bene.
Ho introdotto il fattore "invisibile" nei sottotitoli per evitare di avere molte finestre aperte e quindi salvarle come file di testo (con un altro script). Sembra che abbia funzionato anche bene.
// Tabella Eaxample
dt = Aperto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
// Esempio di colonna
col = Colonna ( dt , "età" ) ;
// Crea sottoinsiemi per: età
colLevs = array associativo ( col ) << getKeys ;
Per ( io = 1 , io <= NItems ( colLevs ) , io ++,
r2get = dt << getRowsWhere ( : età == colLevs [ io ]) ;
dtSub = dt << sottoinsieme ("Invisibile", Righe ( r2get )) ;
dtSub << imposta nome ( carbonizzare ( colLevs [ io ])) ;
) ;
Ri: modificare più nomi di tabelle di dati prodotto di un sottoinsiemeEcco un modo:
// Tabella Eaxample
dt = Aperto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
// Esempio di colonna
col = Colonna ( dt , "età" ) ;
// Crea sottoinsiemi per: età
colLevs = array associativo ( col ) << getKeys ;
Per ( io = 1 , io <= NItems ( colLevs ) , io ++,
r2get = dt << getRowsWhere ( : età == colLevs [ io ]) ;
dtSub = dt << sottoinsieme ( Righe ( r2get )) ;
dtSub << imposta nome ( carbonizzare ( colLevs [ io ])) ;
) ;