Ho una colonna per una query che contiene dati delimitati da virgole.
Legge
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
Mi piacerebbe avere uno script che analizza ogni valore in una nuova colonna con il titolo della colonna di D01, D02, D03 ecc....
Ho usato un componente aggiuntivo per Text to Cols per lavorare con questa colonna, ma sarebbe bello avere uno script come parte dello script post-Query che rende quelle colonne
Ha funzionato alla grande!Grazie.Grazie anche per i commenti nella sceneggiatura, mi aiuteranno a capirla e ad imparare da essa.
Grazie ancora!
In realtà c'è un Testo in colonne() funzione.Ecco un modo per farlo con una tabella in cui inizio con 2 colonne, Colonna 1 e Colonna 2. Poiché Text to Columns() inserirà le nuove colonne direttamente dopo che la colonna è stata divisa, è necessario determinare la posizione della colonna in modo puoi facilmente trovare dove si trovano le nuove colonne nella tabella per rinominarle.
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
);
Prima:

Dopo:
