Bonjour, j'ai un ensemble de colonnes avec des données pour plusieurs produits par lignes. Je dois diviser ces données en créant de nouvelles colonnes identiques avec un suffixe de nom de produit et copier uniquement les données de produit correspondantes des colonnes précédentes. J'ai juste besoin d'aide pour copier les données appropriées. J'essayais de faire cela avec des sélections et un copier-coller, mais je ne sais pas comment faire. La région d'intérêt commence à partir de dt << Sélectionner Où et plus loin.
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << Get Column Names(String);
//Select set of columns to split
for (i = nitems(colNames), i > 0, i--,
if (!contains(colNames[i], "SPC"),
remove from(colNames, i);
);
);
//Add new columns with product name suffix and copy/paste properties
Summarize(unique_values=by(:Products));
colNames2=colNames;
for (k = nitems(unique_values), k > 0, k--,
for (i = nitems(colNames), i > 0, i--,
colNames2[i] = colNames[i] || " " || unique_values[k];
dt << New Column( colNames2[i] );
);
for( j = 1, j <= nitems(colNames), j++,
colProps = Column( dt, colNames[j] ) << Get Column Properties;
Column( dt, colNames2[j] ) << Add Column Properties( colProps );
);
<U><STRONG> dt << Select Where( :Products == unique_values[k] );
dt << selectColumns(colNames);
dt << Copy;
dt << selectColumns(colNames2);
dt << Paste;</STRONG></U>
);
Bonjour, Si vous souhaitez copier et coller une valeur en fonction de la sélection de lignes, vous pouvez écrire un code comme celui-ci.
J'espère que cela aide.
dt << Select Where( :Products == unique_values[k] );
r = dt << Get Selected Rows();
val = As Column( colNames[i] )[r];
For( h = 1, h <= N Row( val ), h++,
As Column( colNames2[i] )[r[h]] = val[h]
);