Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaEcco un esempio funzionante da cui imparare:
Names Default to Here( 1 );
// open reference data table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// make container for lookup
lookup = Associative Array();
// get names and ages for lookup
For Each Row(
Insert Into( lookup, dt:name, dt:age );
);
Close( dt, No Save );
// open new table (use Big Class again, delete existing age column)
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Delete Columns( :age );
// make new age column and populate it using lookup table
dt << New Column( "new age", "Numeric", "Continuous" );
For Each Row(
:new age = lookup[ :name ];
);
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaMentre @Mark_Bailey il suggerimento di utilizzare un array associativo funzionerà, credo che un semplice join probabilmente risolverà il problema.
- Apri la tabella JMP con 10.000 righe
- Apri in JMP, il file Excel
- Utilizzando la tabella JMP di Excel come tabella di base, utilizzare
- Tabelle==>Aggiorna per abbinare i nomi e aggiungi le età alla tabella di base
- Salva la tabella aggiornata come file Excel
Ti suggerisco di dedicare del tempo alla lettura della documentazione "Discovering JMP" e "Using JMP"
Aiuto==>Libreria della documentazione di JMP
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaCiao Mark,
Grazie per i suggerimenti. Sono nuovo in JMP, potresti suggerirmi come posso iniziare?
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaQuesto caso sarebbe un buon momento per importare la cartella di lavoro di Excel con i nomi e le età e quindi caricarli in un array associativo per la ricerca.
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaCiao Txnelson,
Il file JMP ha 10.000 righe e 2 colonne. Il nome della prima colonna è Persona e il secondo è l'età. Sì, può essere utilizzato per trovare la tabella dei dati t cappello ha l'età per un determinato nome nel foglio di calcolo di Excel.
Il file di dati JMP contiene 10.000 righe con nomi ed età diversi (stringhe e numeri)
Sia il nome che l'età della persona sono elencati nel file di dati JMP.
Ho un file excel che ha due colonne e 500 righe, la prima colonna ha il nome della persona e la seconda contiene l'età. Sto cercando di scrivere uno script che cercherà tutti i 500 dati (nome della persona) da Excel nel file di dati JMP e copierà il valore dell'età corrispondente al nome della persona nel file Excel.
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaHai 10.000 tabelle di dati JMP....corretto?Quali sono i nomi delle tabelle dati?Può essere utilizzato per determinare come trovare la tabella dati che ha l'età per un determinato nome nel foglio di calcolo di Excel?
Puoi fornire informazioni su quali dati si trovano nelle 10.000 tabelle di dati JMP e come ottenere l'età dalla tabella dati, una volta trovata la tabella dati JMP corretta?
Sono davvero necessarie più specifiche prima che si possa tentare di risolvere il problema.
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaSì, questo è l'approccio più semplice, ma il problema è che il file di dati JMP ha 10000 set di dati con nomi diversi e il foglio Excel ha 500 nomi casuali da 10000 set di dati del file jmp. Quindi voglio qualcosa che possa cercare quel nome particolare in Excel e oltre l'età dal file di dati jmp
Re: Cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaSupponendo che l'elenco di 500 nomi sia in una tabella di dati JMP e che tu abbia quel file csv con i nomi e le età, puoi facilmente inserire il file csv e quindi utilizzare
Tabelle==>Unisciti
per abbinare la tabella dati nome/età alla tabella con l'elenco di 500 nomi.
Ri: cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaCiao Mark,
Ho un compito simile, ma la mia "chiave" è un tipo di dati continuo.
In Excel è molto semplice creare una tabella di ricerca e utilizzarla per trasformare caratteristiche altamente non lineari.
In questo caso si tratta di dati sulla tensione della batteria rispetto alle stime dello stato di carica (SoC) e viceversa. Quindi, vorrei convertire ad esempio una tabella di dati con dati di tensione misurati in stime SoC. Una sfida è che la mia tabella di ricerca potrebbe/non avrà tutti i molti livelli di tensione esistenti nei dati, quindi ho bisogno del SoC corrispondente al livello di tensione più vicino. Ad esempio, i dati di tensione sono 3,801 V e la tabella di ricerca ha 3,800 V come valore più vicino e un SoC corrispondente del 51%.
A volte il mio compito è convertire "all'indietro" (SoC => voltaggio), ma spero di poter creare quella soluzione da solo data la buona ispirazione;)
BR, Kim.
Ri: cerca la stringa nella colonna e copia il valore numerico nella seconda colonnaSe ho capito bene cosa vuoi fare (praticamente unisciti per distanza minima) ci sono diversi modi per farlo (kdtable, vptree, loc, distance, addins, ...). Di seguito è riportato un esempio
Names Default To Here(1);
dt_lookup = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([3.8, 4.8, 4])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([50, 52, 51]))
);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([3.801, 4.801, 4.000, 3.7, 4.802, 4.799]))
);
lookup_values = Column(dt_lookup, "Column 2") << get values;
search_values = Column(dt_lookup, "Column 1") << get values;
dt << New Column("Column 2", Numeric, Continuous, << Set Each Value(
As Constant(tab = KDTable(search_values););
{rows, dist} = tab << K nearest rows(1, Matrix(:Column 1));
lookup_values[rows[1]];
));
Di seguito sono riportate alcune dimostrazioni per altre opzioni che utilizzano le matrici
Names Default To Here(1);
lookup_values = [50, 52, 51];
search_values = [3.8, 4.8, 4];
search_val = 4.3;
// These should return row from dt_lookup
kdt = KDTable(search_values);
{kd_rows, kd_dist} = kdt << K nearest rows(1, Matrix(search_val));
vpt = VPTree(search_values);
{vp_rows, vp_dist} = vpt << K nearest rows(1, Matrix(search_val));
dist = Distance(search_values, Matrix(search_val));
lmin_dist = LocMin(dist);
abs_calc = Abs(search_values - search_val);
lmin_abs = LocMin(abs_calc);
show(dist, lmin_dist, abs_calc, lmin_abs, kd_rows, kd_dist, vp_rows, vp_dist);
Ri: cerca la stringa nella colonna e copia il valore numerico nella seconda colonnainterpolate() sarebbe anche una buona scelta.
Cerca la stringa in Colonna e copia il valore numerico nella seconda colonnaHo un foglio di lavoro Excel composto da due colonne, una colonna ha stringhe con il nome della persona e l'altra colonna contiene l'età della persona. Ho quasi una lista di 500 persone. C'è un modo per automatizzarlo? Come usare lo script per assegnare l'età in base al nome della persona?
Automazione e scripting