Suchen Sie passende Zeilen und fügen Sie sie einIch habe zwei Spalten, ColumnA und ColumnB. Ist es möglich, den entsprechenden Wert in Spalte B einzugeben? Die Werte für Spalte B stammen aus dieser Liste (hier ist der Snippet-Code)
fileNames = Files In Directory( directory );
newlist = {};
For( i = 1, i <= N Items( fileNames ), i++,
Insert Into( newlist, fileNames[i] )
);
dt << New Column( "COlumn B", Character, Values( newlist ) );
| Spalte A | Spalte B |
| Apple.doc | |
| Orange.doc | Orange.doc |
| Trauben.doc | Trauben.doc |
| Erdbeere.doc | |
| Mango.doc | Mango.doc |
Datenmischung und -bereinigungQualitäts- und VerfahrenstechnikBetreff: Passende Zeilen suchen und einfügenEs ist etwas, das Name() ersetzt hat (in JMP16, glaube ich). Dies ist erforderlich, wenn beispielsweise in Spaltennamen bestimmte Sonderzeichen vorkommen. Hier ist ein Hilfeartikel, in dem es erwähnt wird (es gibt einen besseren, den ich aber nicht schnell finden konnte) Skripthandbuch > JSL-Bausteine > JSL-Syntaxregeln > Namen .
Ich habe es verwendet, weil ich Leerzeichen in meinen Spaltennamen nicht vertraue, obwohl sie in JMP in Ordnung sein sollten.
Betreff: Passende Zeilen suchen und einfügenVielen Dank für Ihre Antwort. Es funktioniert gut.
Ich möchte nur wissen, was „n“ bedeutet
:"Column A"n
Betreff: Passende Zeilen suchen und einfügenEine weitere Option, die dieser ziemlich nahe kommt @Georg bereitgestellt
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Column A",
Character,
"Nominal",
Set Values({"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"})
)
);
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column("Column B", Character, Nomimal,
<< Set Each Value(
If(Contains(newlist, :"Column A"n),
:"Column A"n
,
""
)
)
);Betreff: Passende Zeilen suchen und einfügenZusätzlich zu Join Tables von Jim wäre dies eine weitere Lösung:
Names Default To Here( 1 );
// Prepare Table with Column A
dt = New Table( "Column A",
Add Rows( 5 ),
New Column( "Column A", Character, "Nominal", Set Values( {"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"} ) )
);
// Get the list
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column( "Column B", Character );
// Check each row if value is part of the list
For Each Row( dt, If( Contains( newlist, :"Column A"n ), :"Column B"n = :"Column A"n ) );
bearbeitet, nur um es klarer zu machen
Betreff: Passende Zeilen suchen und einfügenErstellen Sie Ihre Spalte B in einer separaten Datentabelle und verwenden Sie sie dann
Tabellen=>Verbinden
um die beiden Tabellen zusammenzuführen und Spalte A aus Datentabelle 1 mit Spalte B aus Datentabelle 2 abzugleichen.