Ich habe das vorherige Skript überarbeitet, um Ihren neuen Anforderungen gerecht zu werden.
Names Default To Here( 1 );
dt = Current Data Table();
keep = {};
delete = {};
colNameList = dt << get column names( string );
numericNamesOnly = colNameList;
For( i = N Items( colNameList ), i >= 1, i--,
colNameList[i] = Uppercase( colNameList[i] );
If( Is Missing( Num( colNameList[i] ) ) == 1,
numericNamesOnly[i] = ""
);
);
While( N Items( colNameList ) > 0,
If(
Contains( colNameList[1], Uppercase( "Date début" ) ),
found = Contains( numericNamesOnly, Word( 3, colNameList[1] ) );
If( found > 0,
Insert Into( keep, colNameList[1] );
Insert Into( keep, numericNamesOnly[found] );
Remove From( numericNamesOnly, found, 1 );
Remove From( numericNamesOnly, 1, 1 );
Remove From( colNameList, found, 1 );
Remove From( colNameList, 1, 1 );
,
Insert Into( delete, colNameList[1] );
Remove From( colNameList, 1, 1 );
Remove From( numericNamesOnly, 1, 1 );
);,
Is Missing( Num( colNameList[1] ) ) == 0,
found = Contains( colNameList, Uppercase( "DATE début " ) || colNameList[1] );
If( found > 0,
Insert Into( keep, colNameList[1] );
Insert Into( keep, dateDebutOnly[found] );
Remove From( numericNamesOnly, found, 1 );
Remove From( numericNamesOnly, 1, 1 );
Remove From( colNameList, found, 1 );
Remove From( colNameList, 1, 1 );
,
Insert Into( delete, colNameList[1] );
Remove From( colNameList, 1, 1 );
Remove From( numericNamesOnly, 1, 1 );
);,
Remove From( colNameList, 1, 1 );
Remove From( numericNamesOnly, 1, 1 );
)
);
dt << delete columns(delete);
Es ist kein schöner Code, aber er zeigt den direkten Weg, die Arbeit zu erledigen.
Hinweis: In Ihrer Beispieldatentabelle ist ein Fehler aufgetreten.Sie haben einen Spaltennamen „Datd début 952“, der in „Date début 952“ geändert werden muss.
Danke, es funktioniert!
Ich habe versucht, Ihr Skript zu verwenden, wusste jedoch zunächst nicht, wie ich alle Spalten der zweiten Gruppe charakterisieren sollte, da es keine ähnlichen Begriffe gibt.
Hallo zusammen, ich habe eine ähnliche Datentabelle wie diese:
Die Datenbank besteht aus 2 Gruppen:
- Die Termine („Startdatum...“)")
- Mit Operationen verbundene Nummern
Mein Ziel ist es, die Spalten zu entfernen, die nicht im Schnittpunkt der beiden Spaltengruppen liegen.
Das heißt hier möchte ich mit einem Skript die Spalten: „Startdatum 952“, „9950“ automatisch löschen
Vielen Dank für Ihre Hilfe !
Vielen Dank, dass Sie auch meinen Tag gerettet haben. 
