Buongiorno,
qualcuno può aiutarmi a eseguire il debug di questa parte di codice
il codice dovrebbe aprire una finestra di dialogo per la tabella di dati corrente.
per le colonne numeriche selezionate dalla finestra di dialogo, lo script deve imputare le celle vuote con la media della propria colonna ...
ma non capisco perché per qualche motivo non funziona
dt = Current Data Table ();
cd = Column Dialog (
Myregcol_x = Collist ("Seleziona colonne >>", MinCol (1)),
HList ( ""),
);
regcol_x = cd ["Myregcol_x"];
nitems = N Items (regcol_x);
colname_num = {};
Per (p = 1, p <= nitem, p + +,
nome_colonna = regcol_x [p] << Ottieni il tipo di dati;
if (colname_num == "Numerico",
Per (i = 1, i <= N elementi (regcol_x), i ++,
valuess = Column (regcol_x) << ottieni valori (1);
valore [Loc (Is Missing (valuess))] = Media (valore);
Colonna (regcol_x) << setvalues (valuess, cc [i]);
);
);
);
Grazie in anticipo
Gianpaolo
Fantastico!!!! , molte grazie
Hai avuto un errore logico nell'uso di 2 For Loops. Ho semplificato lo script su dove funziona su una colonna alla volta, eliminando il secondo ciclo 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] );
);
);