おはようございます、
数週間前の議論から始めて (ここに) 、私は分析する列とそのような列の停滞または空の要素の%を選択するために解決したスクリプトに簡単なGUIを追加しました。
私は自分のテーブルのどの列がほとんど空であるか停滞しているかチェックするために新しい列を作成したいのですが、
私は私のスクリプトで何かが間違っている、私はメインテーブルに処理された列をロックアップすることができないという問題があります、
手伝って頂けますか
前もって感謝します
ここでコード:
ここにデフォルトの名前 ( 1 ;
グローバルをクリア ();
//開いたすべてのテーブルの中から分析用に選択するテーブルを選択するコード
OpenDT = リスト ();
にとって (i = 1 、i <= Nテーブル ()、i ++、
に挿入 (OpenDT、データ表 ( 私 ) )
;
dlgDT = ダイアログ ( 「分析用データテーブルの選択」 、VList(selectDT = リストボックス (OpenDT))、HList(ボタン( "OK" )、ボタン( "キャンセル" )))
見せる (dlgDT);
もし (dlgDT [ "ボタン" ] == 1 、
から削除 (dlgDT、 N個のアイテム (dlgDT));
評価リスト (dlgDT);
;
現在のデータ表 (selectDT [ 1 ]);
// ----------------------------------------- GUI ------ ----------------------------------- //
cd = 列ダイアログ (
タイトル( 「カラムスクリーニング」 )
List = ColList( 「列を選択>>」 、MinCol( 1 )、
HList( "空の列の割合>(0-100)" 、
"停滞列の割合<(0-100)" 、mypercent = EditNumber( 90 )、
;
//変数の宣言
percent = cd [ 「mypercent」 ];
mylist = cd [ "リスト" ];
dt = selectDT [ 1 ];
delcols = {};
numRows = 眉 (dt);
にとって (i = 1 ;マキシ= ニテムス (mylist)、i <= maxi、i ++、
もし ( 眉 ( loc ( aslist ( カラム (dt、mylist [i])<< getasmatrix ) モード ( カラム (dt、mylist [i])<< getasmatrix )))> numRows *パーセント/ 100 、
に挿入 (delcols、私)。
、
もし ( Col N Missing ( カラム (dt、mylist [i]))> numRows *パーセント/ 100 、
に挿入 (delcols、私)。
;
;
;
nitems = N個のアイテム (デルコル)
colname = {};
colnamelist = {};
にとって (p = 1 、p <= nitems、p ++、
colname = カラム (delcols [p])<< 名前を取得 ;
に挿入 (colnamelist、colname(p));
;
subDt1 = dt << サブセット (列(colnamelist)、出力表名( 「削除された列を確認する」 ;);
すみませんが、私はあなたのコードの詳細もそれがしようとしていることも見ていません。しかし多分それはあるべきです:
Insert Into( delcols, myList[i] )
のではなく:
Insert Into( delcols, i )