Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto lavorando in una tabella JMP molto grande. Vorrei selezionare un valore da una piccola tabella bidimensionale esterna e inserire quel valore in una nuova colonna. Per selezionare il valore dalla tabella esterna, vorrei utilizzare i valori in ciascuna riga delle due colonne nella tabella JMP corrente come i due pedici della piccola tabella esterna. Qualcuno può aiutarmi a fare questo?
Ho due file. Big_data_matrix contiene la prima colonna che può avere solo valori compresi tra 1 e 24. La colonna 2 è vuota. Values.jmp è una piccola tabella che contiene una colonna con 24 voci. Per ogni riga in Big_data_matrix vorrei leggere il valore nella colonna 1 e, se è uguale a k, vorrei selezionare la k-esima voce (k = 1:24) dai valori. jmp e inserirlo nella seconda colonna di Big_data_matrix.
Il mio Big_data_matrix originale è molto grande (> 1 milione di righe) e devo farlo per molte diverse tabelle di dati Big_data_matrix.
Questo è probabilmente facile da fare in jsl, ma ho 0 esperienza con JSL e vorrei farlo all'interno di JMP, se possibile.
Grazie.
Il messaggio è stato modificato da: Ranjan Sonalkar
Ri: Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?SM
Grazie. Soluzione semplice e funziona bene.
Ri: Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?È possibile utilizzare l'istruzione UPDATE per aggiornare la tabella grande con i valori della tabella piccola.Ecco un esempio JSL:
dt_grande = Nuova tavola ( "Matrice_dati_grandi" ,
Aggiungi righe ( 2400 ) ,
Nuova colonna ( "Prima colonna" , Numerico , Continuo , Formato ( "Migliore" , 12 ) )
) ;
dt_val = Nuova tavola ( "I valori" , Aggiungi righe ( 24 ) ,
Nuova colonna ( "colonna 1" , Carattere , Nominale ,
Imposta i valori ( { "AA" , "BB" , "CC" , "DD" , "EE" , "FF" , "GG" , "HH" , "II" , "JJ" , "KK" , "LL" ,
"MM" , "NN" , "Oo" , "PP" , "QQ" , "RR" , "SS" , "TT" , "UU" , "VV" , "WW" , "XX" } ) ) ,
Nuova colonna ( "Numero di riga" , Numerico , Continuo , Formato ( "Migliore" , 12 ) ,
Imposta i valori ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 ,
21 , 22 , 23 , 24 ] ) )
) ;
// Riempi con numeri interi casuali da 1 a 24
per ( io = 1 , io <= 2400 , io ++,
colonna ( dt_grande , "Prima colonna" )[ io ] = il giro ( uniforme casuale ( 1 , 24 ) , 0 ) ;
) ;
dt_grande << Aggiornare (
Insieme a ( dt_val ) ,
Abbina colonne ( : Prima colonna = : Numero di riga ) ,
Aggiungi colonne dalla tabella di aggiornamento ( : Colonna 1 )
) ;
Ri: Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?Ok, l'indicizzazione è unidimensionale. Quindi ti suggerisco di utilizzare Update.
Innanzitutto, aggiungi una seconda colonna a Values.jmp, con i valori da 1 a 24. Quindi, attiva il tavolo grande e seleziona Aggiorna nel menu delle tabelle. Seleziona Values.jmp nella casella di riepilogo e seleziona "Corrispondenza colonne". Quindi abbini la prima colonna nella tabella grande con la colonna ID appena creata in Values.jmp.
Una nuova colonna con valori corrispondenti al numero nella colonna 1 viene quindi aggiunta alla tabella grande (se alla colonna vuota 2 nella tabella grande viene assegnato lo stesso nome della colonna valore nella tabella piccola, questa colonna verrà riempita al posto di un nuova colonna).
E sì, potrebbe essere facilmente sceneggiato.
Ri: Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?Ho due file. Big_data_matrix contiene la prima colonna che può avere solo valori compresi tra 1 e 24. La colonna 2 è vuota. Values.jmp è una piccola tabella che contiene una colonna con 24 voci. Per ogni riga in Big_data_matrix vorrei leggere il valore nella colonna 1 e, se è uguale a k, vorrei selezionare la k-esima voce (k = 1:24) dai valori. jmp e inserirlo nella seconda colonna di Big_data_matrix.
Il mio Big_data_matrix originale è molto grande (> 1 milione di righe) e devo farlo per molte diverse tabelle di dati Big_data_matrix.
Questo è probabilmente facile da fare in jsl, ma ho 0 esperienza con JSL e vorrei farlo all'interno di JMP, se possibile.
Grazie.
Ri: Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?Ecco un esempio su come utilizzare jsl per ottenere valori da altre tabelle basate su coordinate 2D nella tabella principale.
//Tabelle di esempio
dt1 = Nuova tavola ( "Tavolo grande" ,
Aggiungi righe ( 10 ) ,
Nuova colonna ( "indice_riga" , Imposta i valori ([ 1 , 2 , 3 , 4 , 5 , 1 , 2 , 3 , 4 , 5 ])) ,
Nuova colonna ( "indice_colonna" , Imposta i valori ([ 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 ]))
) ;
dt2 = Nuova tavola ( "Tavolino" ,
Aggiungi righe ( 5 ) ,
Nuova colonna ( "colonna 1" , Imposta i valori ([ 1 , 2 , 3 , 4 , 5 ])) ,
Nuova colonna ( "Colonna 2" , Imposta i valori ([ 6 , 7 , 8 , 9 , 10 ])) ,
Nuova colonna ( "colonna 3" , Imposta i valori ([ 11 , 12 , 13 , 14 , 15 ]))
) ;
// Aggiunge nuovi valori di colonne da piccole tabelle corrispondenti alle due colonne di indice
dt1 << Nuova colonna ( "dati" , numerico ) ;
Per ogni riga ( dt1 : dati = Colonna ( dt2 , val ( : indice_colonna []))[ : indice_riga ]) ;
Ri: Come posso selezionare un valore da una tabella esterna indicizzando i valori in due colonne nella tabella JMP?Ciao,
Potresti fornire un piccolo esempio delle tue tabelle e dell'output desiderato?Questo dovrebbe aiutare a chiarire cosa stai cercando di ottenere.
Grazie.