Bonjour,
quelqu'un peut m'aider à déboguer cette partie du code
le code doit ouvrir une fenêtre de dialogue pour la table de données actuelle.
pour les colonnes numériques sélectionnées par dialogue, le script doit imputer les cellules vides avec la moyenne de propre colonne ...
mais ne comprends pas pourquoi pour une raison quelconque ne fonctionne pas
dt = table de données actuelle ();
cd = dialogue de colonne (
Myregcol_x = Collist ("Sélectionnez les colonnes >>", MinCol (1)),
Hlist (""),
)
regcol_x = cd ["Myregcol_x"];
nitems = N Items (regcol_x);
colname_num = {};
Pour (p = 1, p <= nitems, p ++,
colname_num = regcol_x [p] << Get Type de données;
if (nom_colonne == "Numérique",
Pour (i = 1, i <= N éléments (regcol_x), i ++,
valeur = Column (regcol_x) << get valeurs (1);
valeur [Loc (est manquant (valeur))] = Moyenne (valeur);
Column (regcol_x) << setvalues (valuess, cc [i]);
)
)
)
Merci d'avance
Gianpaolo
Fantastique!!!! , Merci beaucoup
Vous avez eu une erreur de logique dans votre utilisation de 2 boucles For. J'ai simplifié le script à l'endroit où il fonctionne sur une colonne à la fois, ce qui a éliminé la deuxième boucle For
Names Default To Here( 1 );
dt = Current Data Table();
cd = Column Dialog( Myregcol_x = Collist( " Select columns >>", MinCol( 1 ) ), Hlist( "" ), );
regcol_x = cd["Myregcol_x"];
nitems = N Items( regcol_x );
colname_num = {};
For( p = 1, p <= nitems, p++,
colname_num = regcol_x[p] << Get Data Type;
If( colname_num == "Numeric",
valuess = Column( regcol_x[p] ) << get values;
valuess[Loc( Is Missing( valuess ) )] = Mean( valuess );
Column( regcol_x[p] ) << setvalues( valuess, cc[p] );
);
);