Guten Morgen,
Beginnend mit einer Diskussion vor ein paar Wochen (Hier) Ich habe dem gelösten Skript eine einfache GUI hinzugefügt, um die zu analysierenden Spalten und den Prozentsatz der stagnierenden oder leeren Elemente in diesen Spalten auszuwählen.
Ich möchte eine neue Spalte erstellen, um zu überprüfen, welche Spalten meiner Tabelle fast leer oder stagniert sind, aber
Ich habe ein Problem, dass ich die verarbeiteten Spalten nicht in der Haupttabelle sperren kann. In meinem Skript stimmt etwas nicht.
kannst du mir helfen
Danke im Voraus
hier der code:
Namensvorgabe bis hier ( 1 );
klare globals ();
// Code, um unter allen geöffneten Tabellen auszuwählen, welche für die Analyse ausgewählt wird
OpenDT = Liste ();
Zum (i = 1 , ich <= N Tabelle (), i ++,
Einfügen in (OpenDT, Datentabelle ( ich ) )
);
dlgDT = Dialog ( "Datentabelle zur Analyse auswählen" , VList (selectDT = Listenfeld (OpenDT)), HList (Schaltfläche ( "OK" ), Taste( "Stornieren" )));
Show (dlgDT);
Ob (dlgDT [ "Taste" ] == 1 .
Entfernen von (dlgDT, N Artikel (dlgDT));
Bewertungsliste (dlgDT);
);
Aktuelle Datentabelle (selectDT [ 1 ]);
// ----------------------------------------- GUI ------ ---------------------------------- //
cd = Spaltendialog (
Titel( "Spalten-Screening" )
List = ColList ( "Spalten auswählen >>" , MinCol ( 1 )),
HList ( "% der leeren Spalte> (0-100)" .
% der stehenden Säulen <(0-100) , mypercent = EditNumber ( 90 )),
);
// Deklaration von Variablen
Prozent = CD [ "mypercent" ];
mylist = cd [ "Liste" ];
dt = selectDT [ 1 ];
delcols = {};
numRows = nrows (dt);
zum (i = 1 ; maxi = Nitems (mylist), i <= maxi, i ++,
ob ( nrows ( loc ( als Liste ( Säule (dt, mylist [i]) << Getasmatrix ) Modus ( Säule (dt, mylist [i]) << Getasmatrix )))> numRows * prozent / 100 .
einfügen in (Delcole, i);
.
ob ( Col N fehlt ( Säule (dt, mylist [i]))> numRows * prozent / 100 .
einfügen in (Delcole, i);
);
);
);
nitems = N Artikel (Delcole);
colname = {};
colnamelist = {};
Zum (p = 1 , p <= nitems, p ++,
colname = Säule (Delcole [p]) << Name abrufen ;
Einfügen in (colnamelist, colname (p));
);
subDt1 = dt << Teilmenge (Spalten (Colnamelist), Ausgabetabellenname ( "entfernte Spalten prüfen" ));
Es tut mir leid, aber ich habe mir weder die Details Ihres Codes angesehen noch das, was er versucht. Aber vielleicht sollte es sein:
Insert Into( delcols, myList[i] )
eher, als:
Insert Into( delcols, i )