guten Morgen,
jemand kann mir helfen, diesen Teil des Codes zu debuggen
Der Code sollte ein Dialogfenster für die aktuelle Datentabelle öffnen.
Für die durch Dialog ausgewählten numerischen Spalten sollte das Skript die leeren Zellen mit dem Mittelwert der eigenen Spalte angeben.
aber nicht verstehen, warum aus irgendeinem Grund nicht funktioniert
dt = Aktuelle Datentabelle ();
cd = Spaltendialog (
Myregcol_x = Collist ("Spalten auswählen >>", MinCol (1)),
Hlist (""),
);
regcol_x = cd ["Myregcol_x"];
nitems = N Artikel (regcol_x);
colname_num = {};
Für (p = 1, p <= Nitems, p ++,
colname_num = regcol_x [p] << Datentyp abrufen;
if (colname_num == "Numerisch",
Für (i = 1, i <= N Elemente (regcol_x), i ++,
valueess = Spalte (regcol_x) << Werte erhalten (1);
valueess [Loc (fehlt (wertess)))] = Mittelwert (wertess);
Spalte (regcol_x) << setvalues (valueess, cc [i]);
);
);
);
Danke im Voraus
Gianpaolo
Fantastisch!!!! , Danke vielmals
Sie hatten einen logischen Fehler bei der Verwendung von 2 For Loops. Ich habe das Skript dahingehend vereinfacht, dass es jeweils nur für eine Spalte funktioniert, wodurch die zweite For-Schleife entfällt
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] );
);
);