JSL コードの一部は最終スクリプトでは機能しませんが、分離された場合は機能します警告: 初心者レベルの質問
特定の条件が満たされた場合にエントリを埋めるために、一時列 (:Parameter_new) を追加しているデータ テーブルがあります。 次に、エントリを別の列 (:Parameter_old) に入れます。 私の印象としては、コードが最終スクリプトの一部である場合と、個々の行を別のスクリプトにコピーする場合とでは、コードの動作が異なるということです。 スクリプト コードを 1 行ずつ適用すると、すべてが期待どおりに機能します。 最終的なスクリプトに実装すると、空白の値のみが得られます。 私のどこが間違っているのでしょうか?
//Code works OK
dt << New Column ("Parameter_new", character);
dt << go to( :Parameter_new ) << move selected columns( After( :Parameter_old ));
For Each Row(
If(:Parameter_old == "Parameter x",
:Parameter_new = :Parameter_old || " " || "by" || " " ||:Method_description));
dt << select where(:Parameter_old == "Parameter x");
//Code does not work and deletes all entries in column "Parameter_old", i.e. cells come out blank
//Code does however work if applied individually, line by line
:Name("Parameter_old")[dt << get selected rows] = :Parameter_new;品質およびプロセスエンジニアリングRe: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作するこんにちは。 コミュニティ プラットフォームに変更があったようです。 サポートに連絡しました。 それまでの間、期待どおりに ボタンを使用できるようにする一時的な修正を実装しました。 ありがとう。
Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作するここのコミュニティ フォーラムに投稿すると、すべての コード ブロックにエラーのフラグが立てられます。具体的には、以下のように ブロック内の `class=" language-jsl"` が削除されます。
Names Default To Here( 1 );
x = [10, 50, 90];
y = [10, 90, 10];
New Window( "Line Seg Example", g = Graph Box( Line Seg( x, y ) ) );
frame = g[FrameBox( 1 )];
seg = (frame << Find Seg( Line Seg( 1 ) ));

Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作する問題を解決できてよかったです。 色分けに関しては、エディターのツールバーの の左側にある を使用しているようです。
同じスニペットで両方を使用しようとした可能性がありますが、機能するのは 1 つだけです。 両方の投稿の書式を修正しました。
Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作する今、Ifs について学ぶのは愚かだと思いますか...
また、JSL コード スニペットがすべて灰色なのはなぜですか? 正しいフォントと色を取得するにはどうすればよいですか?
dt2 << New Column ("Parameter_new", character);
dt2 << go to( :Parameter_new ) << move selected columns( After( :Parameter_old ));
For Each Row(
If( :Parameter_old == "Parameter x", :Parameter_new = :Parameter_old || " " || "by" || " " || :Method_description,
:Parameter_old != "Parameter x", :Parameter = :Parameter_old));Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作するありがとう。 面白そうですね。 このアプローチに関する詳細を整理し、最初のコードを完全な形で投稿し、あなたの投稿を解決策として受け入れることができるようになるまで、しばらくお時間をください。
(また、私の投稿では JSL コードが色なしでフォーマットされているのはなぜですか? スニペットの挿入には アイコンを使用しています。)
編集: サブスクリプションに関する素晴らしい投稿。 意識していませんでしたが、とても興味深く読ませていただきました。 それ以来、私は自分自身からの返答を解決策として受け入れました。それは私にとって、その方が直観的に簡単だと思われたからです。
Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作するありがとうございます、ご返信ありがとうございます! 両方試しましたが、うまくいきませんでした。 スクリプト ガイドを参照しながら、提案を受け入れてください。
Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作する最後のステートメントには、左側 (LHS) に行列と右側 (RHS) に列があります。
ForEachRow の内部と外部の 2 つの異なるケースがあります。 内部にある場合は、暗黙的な行があり、列はスカラーに解決されます。 外側の場合、暗黙的な行はありません。 ForEachRow 内で動作するときは、おそらく 1 行だけが選択されていたと思います。
列行列 (LHS) は RHS のスカラーのみをサポートします。 RHS 上の行列では正しく動作しません。
使用できますデータテーブルの添字付けその代わり。 これにより、テーブルが 2D 行列 (この小さな例では 3 行、1 列) として扱われます。
dt = Open( "$sample_data/big class.jmp" );
dt[[2, 3, 4], {name}] = dt[[5, 6, 7], {name}];Re: JSL コードの一部が最終スクリプトでは動作しないが、分離された場合は動作するJMP はおそらく、次の行に進む前に Parameter_new 内の式を評価していません。For Each Row 関数の後にこれを追加してみてください。
dt << Run Formulas;
また、待機を使用することもできます。
Wait(0);