Ich habe eine Spalte für eine Abfrage, deren Daten durch Kommas getrennt sind.
Liest
1,2,3,2,4,3,4,5,2,1,3,4,5,2,1,3,4,2,1,2,3,4,2,1,2, 4,2,3,4,5
Ich hätte gerne ein Skript, das jeden Wert in eine neue Spalte mit dem Spaltentitel D01, D02, D03 usw. analysiert.
Ich habe ein Add-In für Text to Cols verwendet, um mit dieser Spalte zu arbeiten, aber es wäre toll, ein Skript als Teil des Post-Query-Skripts zu haben, das diese Spalten erstellt
Es hat super funktioniert!Danke schön.Vielen Dank auch für die Kommentare im Skript, sie werden mir helfen, es zu verstehen und daraus zu lernen.
Danke noch einmal!
Es gibt tatsächlich eine Text in Spalten() Funktion.Hier ist eine Möglichkeit, dies mit einer Tabelle zu tun, in der ich mit zwei Spalten beginne, Spalte 1 und Spalte 2. Da Text to Columns() die neuen Spalten direkt nach der Teilung der Spalte einfügt, müssen Sie die Position der Spalte auf diese Weise bestimmen Sie können leicht herausfinden, wo sich die neuen Spalten in der Tabelle befinden, um sie umzubenennen.
dt = Current Data Table();
col = "Column 1"; //name of column that needs to be split out
//Need to determine where new columns will go:
colnames = dt << Get Column Names(string);
which_col = Loc(colnames, col)[1]; //get position of column being split
//Get number of columns before split
n_col_pre = N Col(dt);
//Split the column by delimiter
dt << Text to Columns( delimiter(","),
columns(Column(dt, col))
);
//Determine number of new columns
new_cols = N Col(dt) - n_col_pre;
//Rename New Columns
for(i = 1, i <= new_cols, i++,
col_pos = which_col + i; //get position of current column
Column(dt, col_pos) << Set Name("D"||if(i < 10, "0","")||char(i));
Column(dt, col_pos) << Set Data Type(Numeric); //makes each column numeric, not sure if you needed that too
);
Vor:

Nach:
