Suchen Sie nach Zeilen, die bestimmten Text enthaltenAlle,
Ich blieb bei einem scheinbar einfachen Schritt hängen.
Meine Tabelle wird aus mehreren CSV-Dateien zusammengestellt. Wo diese Dateien zuvor verkettet waren, gibt es eine Dienstzeile, die leer ist, mit Ausnahme der ersten drei Spalten, in denen in der ersten Spalte etwa „### Switching Logging: datetime“ steht und dann in der zweiten Spalte von welcher Datei und in welche Datei dritte Spalte. Also eine Papierkorbzeile, die ich löschen möchte. Die einzige Gemeinsamkeit dieser Zeilen ist das Wort „Switching“ in der ersten Spalte. Außerdem hat der Name der ersten Spalte ein Semikolon, etwa index:date, und das muss so bleiben.Wie finde und lösche ich diese Zeilen, ohne neue Spalten zu erstellen?
Ich habe so etwas versucht:
db_test << Get Rows Where (Contains("Switch", Column(1)));Aber es funktioniert nicht, anscheinend akzeptiert Contains() nur Spalten, die als :columnname bezeichnet werden. Aber da ich „:“ im Namen meiner Kolumne habe, kann ich sie nicht als „:index:date“ bezeichnen.Selbst wenn ich die Spalte umbenenne, funktioniert es anscheinend nicht.
Wie macht man das in einer Zeile?
Danke!
Betreff: Suchen Sie nach Zeilen, die bestimmten Text enthaltenOk, es war nur nötig, „Spalte“ in „Als Spalte“ zu ändern. Super, vielen Dank!Betreff: Suchen Sie nach Zeilen, die bestimmten Text enthaltenDanke! Ich erinnere mich, dass es mit der Bezugnahme auf Spalten eine komische Sache gab, aber ich dachte, das sei behoben. Anscheinend wurde es als „Spalte“ -> „Als Spalte“ festgelegt? 

Betreff: Suchen Sie nach Zeilen, die bestimmten Text enthaltenIch denke, dass diese Syntax auch funktionieren könnte:
db_test << Get Rows Where (Contains(Column(1)[ ], "Switch"));
Das heißt, verwenden Sie nach dem Funktionsaufruf Column(1) einen leeren Index (eckige Klammern).
Betreff: Suchen Sie nach Zeilen, die bestimmten Text enthaltenJims Vorschlag ist die beste Lösung.Als Zu Ihrer Information Im Anhang finden Sie die veraltete Syntax, die zuvor häufig verwendet wurde Als Spalte() . Sie können einen Spaltenverweis in einer Formel verwenden. Sie benötigen jedoch leere Klammern, um die Zeilen und die Werte der Spalte darzustellen.
Names Default To Here( 1 );
db_test = Open( "$SAMPLE_DATA/big class.jmp" );
mycol = Column("age");
xf = db_test << get rows where(contains(column(3)[],"F"));
xm = db_test << get rows where(contains(column("sex")[],"M"));
xa = db_test << get rows where( mycol[]== 13);
show (xf, xm, xa);
Betreff: Suchen Sie nach Zeilen, die bestimmten Text enthaltenIch denke, das könnte die Lösung sein, nach der Sie suchen:
Names Default To Here( 1 );
db_test = Open( "$SAMPLE_DATA/big class.jmp" );
db_test << get rows where(contains(as column(3),"F"))
Betreff: Suchen Sie nach Zeilen, die bestimmten Text enthaltenOk, es funktioniert so:
db_test << Get Rows Where (Contains(:"DataIndex:date", "Switch"));
Wenn ich jedoch Column(1) anstelle von „DataIndex:date“ eingebe, kommt es zu einem Fehler. Irgendwelche Ratschläge, wie man auf eine Spalte nur anhand ihrer Position verweisen kann?