<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Quelqu'un peut-il penser à un moyen simple de dupliquer une colonne sélectionnée dans un tableau de données ? Fondamentalement, j'aimerais sélectionner la colonne et obtenir une "Copie de" avec tous les attributs, valeurs, etc. juste à côté de l'original, en un seul clic sur un élément de menu. Le faire en ajoutant, en déplaçant, en définissant des types, en copiant des valeurs, etc. est pénible. Je suppose que cela pourrait être scripté en tant que complément, mais j'espérais qu'il existe un moyen plus simple.
Merci!
Merci, getscript est exactement ce qui me manquait dans mes connaissances en script !
Essayez quelque chose comme ça. Il prend en charge la sélection et la copie de plusieurs colonnes.
Noms par défaut ici ( 1 ) ;
dt = Tableau de données actuel () ;
cols = dt << obtenir les colonnes sélectionnées ;
Pour ( je = 1 , je <= N articles ( cols ) , je ++,
dt << effacer la sélection de colonne ;
colscr = cols [ je ] << obtenir le script ;
( Évaluer ( Remplaçant ( Nom Expr ( colscr ) , Arg ( Nom Expr ( colscr ) , 1 ) , "Copie de " || ( cols [ je ] << obtenir un nom ) ) )) << définir la sélection ( 1 ) ;
dt << déplacer les colonnes sélectionnées ( Après ( cols [ je ] ) ) ;
) ;
J'ai donc créé ceci en tant que complément. La partie inférieure (commentée) était une tentative de copier les propriétés de la colonne, mais cela n'a pas fonctionné. (C'était ce que j'essayais d'éviter, mais j'ai eu une longue réunion sans rien de mieux à faire...) Je serais toujours intéressé s'il existe quelque chose de plus élégant que cette approche.
dt = Table de données actuelle ();
selcol = dt << Obtenir les colonnes sélectionnées ;
selcolname = dt:selcol << Obtenir le nom ();
newcname = "Copie de " || nom de sel;
newc = dt << Nouvelle colonne ( newcname );
newclist = dt:newc << Obtenir le nom (); //au cas où il s'agirait d'une deuxième copie !
movestr = "dt << Déplacer les colonnes sélectionnées ({\!"%newclist%\!"}, Après(\!"%selcolname%\!") );";
eval insérer dans(movestr,"%");
movestrexpr = Parse(movestr);
movestrexpr;
Pour chaque ligne (dt:newc = dt:selcol);
/*proplist = dt:selcol << Obtenir la liste des propriétés ();
pour (i = 1, i < N éléments (liste prop), i ++,
currprop = Char(listeprop );
gotpropstr = "gotprop = dt:selcol << Obtenir la propriété(\!"%currprop%\!");";
eval insérer dans(gotpropstr,"%");
gotpropstrexpr = Parse(gotpropstr);
gotpropstrexpr;
setpropstr = "newc << Liste d'évaluation (Définir la propriété (\!"%currprop%\!", Liste(gotprop)));";
eval insérer dans(setpropstr,"%");
setpropstrexpr = Parse(setpropstr);
setpropstrexpr;
);
newcproplist = dt:newc << Obtenir la liste des propriétés ();
//Afficher les propriétés (dt:selcol);
*/