列データは個別に選択するまでスクリプトを通じて更新されませんこんにちは、
JMP コミュニティ内でまだ見つかっていない非常に興味深い問題があります。 JSL を使用すると、次のことが起こります。
- データセットのインポート (dt)
- :Col1 の値を修正してください
- 修正した値を読み取ったセルと同じセルに置き換えているため、for ループを使用しています。
- これと同じループを他のスクリプトでも設定しています。いくつか確認しましたが、まだ正常に動作しています
- :Col2 の式で :Col1 を使用します
- :Col2 は dt を使用してテーブルを結合するために一致しました。
- 結合されたテーブルには :Col1 がありません
(スクリプト完了後)
- 一目で、:Col1 が更新されていないことがわかります
- 作成したスクリプト内のコードを強調表示し、ステップ 2 で想定されていたように、ブロックを個別に実行し、:Col1 を更新します。
- 個別に実行するコードを選択したこと以外は、何も変わっていません。
- 手順 3 で作成された値には、:Col1 の未更新の値が残っているため、結合は意図したとおりに機能しませんでした。
この問題は、現在作業中のスクリプトに限定されているようですが、これは本当に頭の痛い問題です。これは主に、これがスクリプトの最初のコード ブロックの 1 つであるためです。この前に、列の作成と列名の変更が行われます。これも多くはありません。データセットのインポートとこのコード ブロックの間には約 20 行のコードがあります。
技術的には、さまざまな方法でコード全体でこの問題が発生していますが、最も古い例は上記です。この「新しい」スクリプトは、既知の動作スクリプトのコピーですが、別のソースからデータを取得するように変更されています。データ ソース間には差異があり、それらはすでに考慮されています。列の削除とその他の for ループでこの問題が発生しています。このスクリプトの一部を最初から再作成したり、ポイント アンド クリックして拡張ログからコピー アンド ペーストしたりして再作成しました。すべてにこの問題があります。ソース (SQL サーバー) に問題があるのではないかと考えていますが、他にこの問題を抱えている人はいません。ただし、SQL サーバーから取得して JMP を使用しているのは私だけです。
何かご意見は?
自動化とスクリプト作成データアクセスデータのブレンディングとクリーンアップウィンドウズRe: 個別に選択するまで、スクリプトを介して列データが更新されない予感: 更新を期待する場所で Wait(0) を試してみてください。

Re: 個別に選択するまで、スクリプトを介して列データが更新されないテーブルに数式がある場合は、Wait(0) を試す以外に、<< Run 数式を使用してみてください。 これにより、スクリプトの実行を続行する前に、保留中のすべての数式を JMP に強制的に評価させる必要があります。
dt << Run Formulas();

または << Rerun formulas (保留されていないものも含め、すべての式を評価するため、これは不要なはずですが)
dt << Rerun Formulas;

Re: 個別に選択するまで、スクリプトを介して列データが更新されない@peng_liu @jthiありがとうございました! wait() うまくいきました! 上で説明したループのすぐ上に、ループに必要な列を設定するために実行される式があります。 あなたがた両方に感謝します!