Wählen Sie den Spaltennamen mithilfe der Funktion „Enthält“ ausHallo,
Ich wähle gerne mehrere Spalten aus, deren Namen eine Zeichenfolge enthalten. Ich habe das folgende Skript ausprobiert und es ist kein Fehler aufgetreten, aber die Spalten werden nicht ausgewählt.
col_list = dt3 << get column names(string);
for( i = 1, i <= N Items( col_list ), i++,
If(Contains( col_list[i], "A_B_C" ),
Column(col_list[i] ) << Set Selected (1)
)
);
Wenn ich col_list überprüfe, enthält es alle Spalten in der gesamten Datentabelle. Ich schätze Ihre Hilfe. Danke
Betreff: Wählen Sie den Spaltennamen mithilfe der Funktion „Enthält“ ausDanke, Jim, für deine Hilfe. Es funktioniert jetzt gut.
Betreff: Wählen Sie den Spaltennamen mithilfe der Funktion „Enthält“ ausDie Funktion „Contains()“ nimmt das zweite Argument und untersucht das erste Argument, um zu sehen, ob der Wert des zweiten Arguments im ersten Argument gefunden werden kann.Wenn also die Funktion „Contains()“ vorhanden ist
Enthält("A_B_C", Col_List[i])
und dem Wert von Col_List[i] = „A_B_C“ wird der Wert „A_B_C“ angenommen und das erste Argument untersucht, um zu sehen, ob es gefunden werden kann.Was es kann, weil das erste Argument „A_B_C“ enthält.Wenn der Spaltenname nun „A“ lautet und Sie den gleichen Vergleich durchführen, nimmt die Funktion „Contains()“ das zweite Argument „A“, untersucht das erste Argument „A_B_C“ und stellt fest, dass ein „A“ vorliegt. steht im ersten Argument, und deshalb wird es ein echter Vergleich sein.
Daher ist die ursprüngliche Form der Funktion „Contains()“ gefragt
Names Default To Here( 1 );
dt = Current Data Table();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains(Col_List[i], "A_B_C"),
Column(Col_List[i]) << Set Selected(1);
);
);Betreff: Wählen Sie den Spaltennamen mithilfe der Funktion „Enthält“ ausEs könnte sein, dass ein paar Dinge im Gange sind.
Eine Möglichkeit besteht darin, dass eine Spalte ausgewählt wird, bevor das Skript ausgeführt wird?
Versuchen Sie, dies am Anfang Ihres Skripts hinzuzufügen, direkt nachdem dt definiert wurde.
dt << Clear Selection;
Betreff: Wählen Sie den Spaltennamen mithilfe der Funktion „Enthält“ ausDanke. Ich habe Ihr Skript ausprobiert, aber mit einem anderen Beispiel, und ich habe immer noch ein Problem.
Namen standardmäßig hier( 1 );
dt = Aktuelle Datentabelle();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains("A_B_C",Col_List[i]),
Column(Col_List[i]) << Set Selected(1);
);
);
Die Spalten A_B_C und A werden ausgewählt. Ich verstehe nicht warum. Ich schätze Ihre Hilfe. Das Bildergebnis habe ich angehängt.
Betreff: Wählen Sie den Spaltennamen mithilfe der Funktion „Enthält“ aus@BEI ,
Ich denke, Sie haben die Contains()-Argumente invertiert.
dt = Current Data Table();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains("A_B_C",Col_List[i]),
Column(Col_List[i]) << Set Selected(1);
);
);