JSL スクリプトに関する質問: JMP アラート 削除する行を選択してください<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />行を削除しようとしているときにこのポップアップ ボックスが表示されるのを見たことがある人はいますか?私が使用しているコードを以下に貼り付けました。
私のスクリプトのいくつかで、このポップアップ ボックスが表示されるのを確認しました。「OK」以外のオプションはなく、それをクリックすると、スクリプトは通常どおり続行されます。これは反復ループの一部ですが、不思議なことに、すべての反復で発生するわけではありません。
最初は、コード内の行選択が null だったために問題が発生したのだと思いましたが、「checkweek<
if (nrows(checkweek<<選択した行を取得)>0, checkweek<
JMP から次の行を解決できないというエラーが表示されるようになりました。
FBListWeek=:Cause<<値を取得;
これが処理したいテーブルであることを JMP が認識できるようにするために、checkweek<<データ テーブル ウィンドウも追加しました。奇妙なことに、checkweek をクリックしてアクティブにし、コードの 1 行 (FBListweek=:Cause<
私は 32GB の RAM を搭載した Windows 7 Enterprise マシンで JMP 9 を実行していますが、テーブルが非常に大きい (100 万行以上) という事実を除けば、テーブルには目立った点はありません。
前もって感謝します、
ユージーン。
コード:
for(i=1,i<=nvector,i++,
現在のデータテーブル(週);
paretoweek = パレート図( Cause( :FB ), Per Unit Rates( 1 ), Where( :PKG == eval(pkgnames) ) & :Sort_Config == eval(sortconfignames ) ) );
rparetoweek=paretoweek<<レポート;
rparetoweek[tablebox(1)]<<データテーブル作成("checkweek");
checkweek=データテーブル("checkweek");
checkweek<<どこを選択します(rate<0.001);
checkweek<<行を削除します。
checkweek<
checkweek<<行を削除します。
FBListWeek=:Cause<<値を取得;
Re: JSL スクリプトに関する質問: JMP アラート 削除する行を選択してくださいヘルプデスクにメールを送ったところ、解決策は次のとおりであることがわかりました。
行が選択されていないため、ポップアップ メッセージが生成される可能性があるようです。JSL ファイルからスクリプトを実行していた場合、メッセージはログに送信され、スクリプトは続行されます。ただし、スクリプトがボタンから呼び出された場合、JMP はバッチ モードではなくなり、対話的にメッセージを発行します。これは、次の 2 つの方法のいずれかで処理できます。
a. Batch Interactive 関数をボタン スクリプトに追加して、ランタイム環境をボタンの先頭でバッチ処理するように設定します。
スクリプトを作成し、ボタン スクリプトの最後でオフにします。
バッチインタラクティブ( 1 ); //バッチモード
バッチインタラクティブ( 0 ); //前のモードに戻ります
b (条件付きの null 行選択チェックを行うこのオプションは、私にとっては機能しなかったことがわかりました)。
Re: JSL スクリプトに関する質問: JMP アラート 削除する行を選択してくださいユージ、
JMP 9 以降では、行を削除するより堅牢な方法は、「get rows where」が埋め込まれた「delete rows」を使用することであることがわかりました。
これにより、選択された行の状態が変更されたテーブルへの参照を後続のコマンドに渡そうとすることが回避されます。これが問題の根本である場合もそうでない場合もあります。
例えば:
dt=現在のデータテーブル();
dt<<行を削除(dt<
それがあなたの例の問題であるかどうかはわかりませんが、試してみることを検討してください。
for(i=1,i<=nvector,i++,
現在のデータテーブル(週);
paretoweek = パレート図( Cause( :FB ), Per Unit Rates( 1 ), Where( :PKG == eval(pkgnames) ) & :Sort_Config == eval(sortconfignames ) ) );
rparetoweek=paretoweek<<レポート;
rparetoweek[tablebox(1)]<<データテーブル作成("checkweek");
//ここで wait(0) を追加することも検討してください。そうすれば、テーブルから行を削除しようとする前にテーブルが作成されます。
待機(0);
checkweek=データテーブル("checkweek");
checkweek<
checkweek<
FBListWeek=:Cause<<値を取得;
-ピーター