Tengo una columna para una consulta que contiene datos delimitados por comas.
Lee
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
Me gustaría tener un script que analice cada valor en una nueva columna con el título de columna de D01, D02, D03, etc.
He usado un complemento para Text to Cols para trabajar con esta columna, pero sería genial tener un script como parte del script posterior a la consulta que hace esas columnas
En realidad hay un Texto a columnas () función. Aquí hay una manera de hacerlo con una tabla donde empiezo con 2 columnas, Columna 1 y Columna 2. Debido a que Text to Columns () insertará las nuevas columnas directamente después de que la columna se divida, debe determinar la posición de la columna para que pueda encontrar fácilmente dónde están las nuevas columnas en la tabla para cambiarles el nombre.
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
);
Antes de:

Después:

¡Funcionó muy bien! Gracias. También gracias por los comentarios en el guión que me ayudarán a entenderlo y aprender de él.
¡Gracias de nuevo!