Come ordinare le tabelle aperte in base al nome della tabella<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto aprendo più tavoli contemporaneamente. Una volta aperto, eseguo il ciclo di tutte le tabelle aperte da 1 a N Table () e memorizzo i riferimenti a ciascuna tabella in un elenco. Tuttavia, mentre faccio il giro di ciascun tavolo aperto, non sono sicuro di come sia organizzato nella memoria. In conclusione, voglio che le voci sulla mia lista siano ordinate in base al nome della tabella. C'è un modo per me di ordinare i tavoli aperti prima di memorizzarli in una lista? O per metterlo in un angolo diverso, qual è il modo migliore per ordinare i riferimenti di tabella all'interno della mia lista (se supponendo che siano memorizzati sulla mia lista in un ordine casuale)?
Ri: Come ordinare le tabelle aperte per nome tabellaNon ordinare i tavoli dopo che sono aperti!
Ordina i nomi dei tavoli prima di aprirli. È possibile ottenere i nomi dei tavoli come un elenco e quindi lavorare con loro lì. Una volta che l'elenco è ordinato, aprili in sequenza ed elaborali.
In questo script: https://community.jmp.com/t5/JMP-Scripts/Combine-multiple-txt-or-csv-files/ta-p/24083
Ricevo un elenco di tutti i tipi di file in una directory, quindi apro in sequenza i file. Funziona alla grande quando i singoli file sono grandi o quando ci sono migliaia di file.
Ri: Come ordinare le tabelle aperte per nome tabellaSi dovrebbe usare la proprietà di ordine del valore di una colonna per farlo. Ecco un esempio:
sort_order_list = {"XXX", "AAA", "DDD", "GGG", "YYY", "QQQ"};
dt = New Table( "Untitled 15", Add Rows( 6 ),
New Column( "To Be Sorted", Character, "Nominal",
Set Values( {"AAA", "DDD", "GGG", "QQQ", "XXX", "YYY"} )
)
);
column(dt, "To Be Sorted") << set property("Value Ordering", sort_order_list);
Ora quando si ordina la colonna Essere ordinato sarà ordinato in base all'ordine degli articoli nell'elenco.
Ri: Come ordinare le tabelle aperte per nome tabellaNon sono sicuro di capire cosa stai chiedendo, sfortunatamente.
Supponiamo che io abbia i valori delle stringhe di caratteri, myList = {"alpha", "gamma", "beta"} e una tabella "My Table", con una colonna chiamata "Vals" che ha uno di questi tre valori in ogni cella .
Vuoi ordinare "My Table" in modo che tutte le righe con "alpha" vengano prima, tutte le righe con "beta" arrivano per ultime e tutte le righe con "gamma" vengono incluse?
Ri: Come ordinare le tabelle aperte per nome tabellaCome posso ordinare la tabella in base ai valori in un elenco anziché in ordine crescente o decrescente?
Supponiamo di avere valori di colonna univoci in una lista. e l'ordine dei valori nella lista non è ascendente né discendente. come posso usare questa lista per ordinare il tavolo?
Grazie in anticipo.
ariete
Ri: Come ordinare le tabelle aperte per nome tabellaGrazie. Avrei dovuto pensarci prima. Avevo provato a ordinare la lista prima ma contenendo solo i nomi delle tabelle.
Ri: Come ordinare le tabelle aperte per nome tabellaEcco un'alternativa se è necessario un elenco di riferimenti tabella dati, piuttosto che stringhe:
openTables = {};
For(i = 1, i <= N Table(), i++,
Insert Into(openTables, Data Table(i))
);
Sort List Into(openTables);
// Refer directly to table, e.g.
openTables[1] << Bring Window to Front;
Ri: Come ordinare le tabelle aperte per nome tabellaScusate, ho trascurato la piuttosto 'Sort List Into ()' '. Chiaramente ho bisogno di riprendermi con 'Help> Scripting Index'.
Quindi, sì, puoi fare:
// Build the sorted list
openTables = {};
for(t=1, t<=NTable(), t++, InsertInto(openTables, DataTable(t) << getName));
SortListInto(openTables);
// Manipulate (Close) each table in this list
for(t=1, t<=NItems(openTables), t++, Close(DataTable(openTables[t]), NoSave); Wait(1));
Ri: Come ordinare le tabelle aperte per nome tabella@Ian, dopo che i nomi delle tabelle sono stati ordinati e memorizzati nell'elenco openTables, come posso fare riferimento alla tabella? Ad esempio, è possibile farlo:
Per (a = 1, a <= N Table (), a ++,
tmpDT = Tabella dati (openTables );
// ....
);
Separatamente, farebbe la stessa cosa per ordinare i contenuti della lista?
Ordina List Into (openTables);
Saluti,
Chris
csoon1 wrote:I am opening multiple tables at once. Once opened, I loop through all open tables from 1 to N Table() and store the references to each table on a list. However as I loop through each open table, I am not sure how it is arranged in the memory. Bottom line, I want the entries on my list to be sorted according to the table name. Is there a way for me to sort the open tables before storing them to a list? Or to put it in a different angle, what's the best way to sort the table references inside my list (if assuming they are stored on my list at a random order)?
Ri: Come ordinare le tabelle aperte per nome tabellaEcco un modo:
openTables = {};
for(t=1, t<=NTable(), t++, InsertInto(openTables, DataTable(t) << getName));
dt = NewTable("Invisible", NewColumn("Table Name", Character, Values(openTables)), Invisible);
dt << Sort(By("Table Name"), Ascending, ReplaceTable);
openTables = Column(dt, "Table Name") << getValues;
Close(dt, NoSave);