Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich arbeite in einer sehr großen JMP-Tabelle. Ich möchte einen Wert aus einer externen zweidimensionalen kleinen Tabelle auswählen und diesen Wert in eine neue Spalte einfügen. Um den Wert aus der externen Tabelle auszuwählen, möchte ich Werte in jeder Zeile der beiden Spalten in der aktuellen JMP-Tabelle als die beiden Indizes der externen kleinen Tabelle verwenden. Kann mir jemand dabei helfen?
Ich habe zwei Dateien. Die Big_data_matrix enthält die erste Spalte, die nur Werte zwischen 1 und 24 haben kann. Spalte 2 ist leer. Values.jmp ist eine kleine Tabelle, die eine Spalte mit 24 Einträgen enthält. Für jede Zeile in Big_data_matrix möchte ich den Wert in Spalte 1 lesen, und wenn er gleich k ist, möchte ich den k-ten Eintrag (k = 1:24) aus Werten auswählen. jmp-Tabelle und geben Sie sie in die zweite Spalte von Big_data_matrix ein.
Meine ursprüngliche Big_data_matrix ist sehr groß (>1M Zeilen) und ich muss dies für viele verschiedene Big_data_matrix-Datentabellen tun.
Dies ist wahrscheinlich einfach in JSL zu tun, aber ich habe keine Erfahrung mit JSL und würde dies gerne in JMP tun, wenn dies möglich ist.
Vielen Dank.
Nachricht wurde bearbeitet von: Ranjan Sonalkar
Betreff: Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?FRAU
Vielen Dank. Einfache Lösung und funktioniert gut.
Betreff: Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?Sie können die UPDATE-Anweisung verwenden, um die große Tabelle mit Werten aus der kleinen Tabelle zu aktualisieren.Hier ist ein JSL-Beispiel:
dt_groß = Neue Tabelle ( "Big_data_matrix" ,
Zeilen hinzufügen ( 2400 ) ,
Neue Spalte ( "Erste Spalte" , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) )
) ;
dt_val = Neue Tabelle ( "Werte" , Zeilen hinzufügen ( 24 ) ,
Neue Spalte ( "Spalte 1" , Charakter , Nominal ,
Werte einstellen ( { "AA" , "BB" , "CC" , "DD" , "EE" , "FF" , "GG" , "HH" , "II" , "JJ" , "KK" , "LL" ,
"MM" , "NN" , "OO" , "PP" , "QQ" , "RR" , "SS" , "TT" , "UU" , "VV" , "WW" , "XX" } ) ) ,
Neue Spalte ( "Zeilennummer" , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) ,
Werte einstellen ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , fünfzehn , 16 , 17 , 18 , 19 , 20 ,
21 , 22 , 23 , 24 ] ) )
) ;
// Mit zufälligen Ganzzahlen von 1-24 füllen
zum ( ich = 1 , ich <= 2400 , ich ++,
Säule ( dt_groß , "Erste Spalte" )[ ich ] = runden ( zufällige Uniform ( 1 , 24 ) , 0 ) ;
) ;
dt_groß << Aktualisieren (
Mit ( dt_val ) ,
Spalten abgleichen ( : Erste Spalte = : Zeilennummer ) ,
Fügen Sie Spalten aus der Update-Tabelle hinzu ( : Spalte 1 )
) ;
Betreff: Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?Ok, die Indizierung ist eindimensionalI. Dann schlage ich vor, dass Sie Update verwenden.
Fügen Sie zunächst eine zweite Spalte mit den Werten 1 bis 24 zu Values.jmp hinzu. Aktivieren Sie dann die große Tabelle und wählen Sie Aktualisieren im Tabellenmenü. Wählen Sie im Listenfeld Values.jmp aus und aktivieren Sie "Spalten abgleichen". Dann gleichen Sie die erste Spalte in der großen Tabelle mit der neu erstellten ID-Spalte in Values.jmp ab.
Der großen Tabelle wird dann eine neue Spalte mit Werten hinzugefügt, die der Zahl in Spalte 1 entsprechen (wenn die leere Spalte 2 in der großen Tabelle den gleichen Namen wie die Wertspalte in der kleinen Tabelle erhält, wird diese Spalte anstelle von a gefüllt neue Spalte).
Und ja, es könnte leicht geskriptet werden.
Betreff: Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?Ich habe zwei Dateien. Die Big_data_matrix enthält die erste Spalte, die nur Werte zwischen 1 und 24 haben kann. Spalte 2 ist leer. Values.jmp ist eine kleine Tabelle, die eine Spalte mit 24 Einträgen enthält. Für jede Zeile in Big_data_matrix möchte ich den Wert in Spalte 1 lesen, und wenn er gleich k ist, möchte ich den k-ten Eintrag (k = 1:24) aus Werten auswählen. jmp-Tabelle und geben Sie sie in die zweite Spalte von Big_data_matrix ein.
Meine ursprüngliche Big_data_matrix ist sehr groß (>1M Zeilen) und ich muss dies für viele verschiedene Big_data_matrix-Datentabellen tun.
Dies ist wahrscheinlich einfach in JSL zu tun, aber ich habe keine Erfahrung mit JSL und würde dies gerne in JMP tun, wenn dies möglich ist.
Vielen Dank.
Betreff: Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?Hier ist ein Beispiel für die Verwendung von jsl, um Werte aus anderen Tabellen basierend auf 2D-Koordinaten in der Haupttabelle abzurufen.
//Beispieltabellen
dt1 = Neue Tabelle ( "Großer Tisch" ,
Zeilen hinzufügen ( 10 ) ,
Neue Spalte ( "Zeilenindex" , Werte einstellen ([ 1 , 2 , 3 , 4 , 5 , 1 , 2 , 3 , 4 , 5 ])) ,
Neue Spalte ( "Spaltenindex" , Werte einstellen ([ 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 ]))
) ;
dt2 = Neue Tabelle ( "Kleiner Tisch" ,
Zeilen hinzufügen ( 5 ) ,
Neue Spalte ( "Spalte 1" , Werte einstellen ([ 1 , 2 , 3 , 4 , 5 ])) ,
Neue Spalte ( "Spalte 2" , Werte einstellen ([ 6 , 7 , 8 , 9 , 10 ])) ,
Neue Spalte ( "Spalte 3" , Werte einstellen ([ 11 , 12 , 13 , 14 , fünfzehn ]))
) ;
// Neue Spaltenwerte aus kleinen Tabellen hinzufügen, die den beiden Indexspalten entsprechen
dt1 << Neue Spalte ( "Daten" , numerisch ) ;
Für jede Reihe ( dt1 : Daten = Spalte ( dt2 , Bewertung ( : Spaltenindex []))[ : Zeilenindex ]) ;
Betreff: Wie kann ich einen Wert aus einer externen Tabelle auswählen, indem ich Werte in zwei Spalten in der JMP-Tabelle indiziere?Hallo,
Können Sie ein kleines Beispiel für Ihre Tabellen und die gewünschte Ausgabe angeben?Das sollte helfen zu verdeutlichen, was Sie zu erreichen versuchen.
Vielen Dank.