Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteHier ist ein funktionierendes Beispiel, von dem Sie lernen können:
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 ];
);
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteWährend @Mark_Bailey Vorschlag, ein assoziatives Array zu verwenden, wird funktionieren, ich glaube, dass ein einfacher Join das Problem wahrscheinlich lösen wird.
- Öffnen Sie die JMP-Tabelle mit 10.000 Zeilen
- Öffnen Sie in JMP die Excel-Datei
- Verwenden Sie die JMP-Tabelle aus Excel als Basistabelle
- Tables==>Aktualisieren, um die Namen abzugleichen und das Alter zur Basistabelle hinzuzufügen
- Speichern Sie die aktualisierte Tabelle wieder als Excel-Datei
Ich schlage vor, dass Sie sich die Zeit nehmen, die Dokumentationen „Entdecken von JMP“ und „Verwenden von JMP“ zu lesen.
Hilfe==>JMP-Dokumentationsbibliothek
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteHallo Mark,
Danke für die Vorschläge. Ich bin neu bei JMP. Könnten Sie bitte einen Vorschlag machen, wie ich anfangen kann?
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteDieser Fall wäre ein guter Zeitpunkt, um die Excel-Arbeitsmappe mit den Namen und Altersangaben zu importieren und sie dann zur Suche in ein assoziatives Array zu laden.
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteHallo Txnelson,
Die JMP-Datei hat 10.000 Zeilen und 2 Spalten. Der erste Spaltenname ist Person und der zweite ist Alter. Ja, es kann verwendet werden, um die Datentabelle t zu finden hat das Alter für einen bestimmten Namen in der Excel-Tabelle.
Die JMP-Datendatei hat 10.000 Zeilen mit unterschiedlichen Namen und Alter (Strings und Zahlen)
Sowohl der Personenname als auch das Alter sind in der JMP-Datendatei aufgeführt.
Ich habe eine Excel-Datei mit zwei Spalten und 500 Zeilen, die erste Spalte enthält den Namen der Person und die zweite das Alter. Ich versuche, ein Skript zu schreiben, das nach allen 500 Daten (Personennamen) aus Excel in der JMP-Datendatei sucht und den Alterswert kopiert, der dem Namen der Person in der Excel-Datei entspricht.
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteSie haben 10.000 JMP-Datentabellen ... richtig?Wie lauten die Datentabellennamen?Kann das verwendet werden, um zu bestimmen, wie die Datentabelle mit dem Alter für einen bestimmten Namen in der Excel-Tabelle gefunden werden kann?
Können Sie Informationen darüber geben, welche Daten in den 10.000 JMP-Datentabellen enthalten sind und wie Sie das Alter aus der Datentabelle erhalten, nachdem Sie die richtige JMP-Datentabelle gefunden haben?
Weitere Einzelheiten sind wirklich erforderlich, bevor man versuchen kann, Ihr Problem zu lösen.
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteJa, das ist der einfachste Ansatz, aber das Problem ist, dass die JMP-Datendatei 10000 Datensätze mit unterschiedlichen Namen enthält und die Excel-Tabelle zufällig 500 Namen aus 10000 Datensätzen der JMP-Datei enthält. Ich möchte also etwas, das diesen bestimmten Namen in Excel und über das Alter hinaus aus der JMP-Datendatei durchsuchen kann
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteAngenommen, die Liste mit 500 Namen befindet sich in einer JMP-Datentabelle und Sie haben diese CSV-Datei mit den Namen und Altersangaben, dann können Sie die CSV-Datei einfach eingeben und dann verwenden
Tische==>Beitreten
um die Namens-/Altersdatentabelle mit der Tabelle mit der Liste von 500 Namen abzugleichen.
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteHallo Mark,
Ich habe eine ähnliche Aufgabe, aber mein "Schlüssel" ist ein kontinuierlicher Datentyp.
In Excel ist es sehr einfach, eine Nachschlagetabelle zu erstellen und damit stark unlineare Merkmale zu transformieren.
In diesem Fall handelt es sich um Batteriespannungsdaten zu Schätzungen des Ladezustands (SoC) und umgekehrt. Ich möchte also zB eine Datentabelle mit gemessenen Spannungsdaten in SoC-Schätzungen umwandeln. Eine Herausforderung besteht darin, dass meine Nachschlagetabelle möglicherweise nicht alle in den Daten vorhandenen Spannungspegel enthält, sodass ich den SoC benötige, der dem nächsten Spannungspegel entspricht. Die Spannungsdaten sind z. B. 3,801 V und die Nachschlagetabelle hat 3,800 V als nächsten und einen entsprechenden SoC von 51 %.
Manchmal ist es meine Aufgabe, "rückwärts" (SoC => Spannung) umzuwandeln, aber hoffentlich könnte ich diese Lösung bei guter Inspiration selbst erstellen;)
BR, Kim.
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite SpalteWenn ich richtig verstehe, was Sie tun möchten (im Grunde genommen durch Mindestabstand beitreten), gibt es einige Möglichkeiten, dies zu tun (kdtable, vptree, loc, distance, addins, ...). Unten ist ein Beispiel
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]];
));
Nachfolgend finden Sie einige Demonstrationen für andere Optionen, die Matrizen verwenden
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);
Betreff: Suchen Sie die Zeichenfolge in Spalte und kopieren Sie den numerischen Wert in die zweite Spalteinterpolate() wäre auch eine gute Wahl.
Suchen Sie die Zeichenfolge in „Spalte“ und kopieren Sie den numerischen Wert in die 2. SpalteIch habe ein Excel-Arbeitsblatt, das aus zwei Spalten besteht, eine Spalte enthält Zeichenfolgen mit dem Namen der Person und die andere Spalte enthält das Alter der Person. Ich habe eine Liste mit fast 500 Personen. Gibt es eine Möglichkeit, das zu automatisieren? Zum Beispiel die Verwendung eines Skripts, um das Alter anhand des Personennamens zuzuweisen?
Automatisierung und Skripterstellung