部分 JSL 代碼在最終腳本中不起作用,但如果隔離則可以工作警告:初級問題
我有一個數據表,如果滿足某個條件,我將在其中添加一個臨時列 (:Parameter_new) 以填充條目。 然後我想進入另一列(:Parameter_old)的條目。 我的印像是,與我將單獨的行複製到不同的腳本中相比,當它是最終腳本的一部分時,代碼的行為會有所不同。 逐行應用腳本代碼時,一切都按預期工作。 當實施到最終腳本中時,我只會得到空白值。 我哪裡錯了?
//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;腳本回复:部分 JSL 代碼不能在最終腳本中工作,但如果隔離則可以工作你好。 社區平台似乎發生了變化。 我們已聯繫支持。 與此同時,我們已經實施了一個臨時修復,它應該允許您按預期使用 按鈕。 謝謝。
回复:部分 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 ) ));

回复:部分 JSL 代碼不能在最終腳本中工作,但如果隔離則可以工作我很高興你能夠解決這個問題。 至於顏色編碼,看起來您正在使用編輯器工具欄中 左側的 。
您可能曾嘗試在同一個片段上同時使用它們,但只有一個有效。 我已經修復了您兩個帖子中的格式。
回复:部分 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));回复:部分 JSL 代碼不能在最終腳本中工作,但如果隔離則可以工作謝謝。 看起來很有趣。 在我整理出有關此方法的詳細信息之前,請給我一些時間,可以以完整的形式發布我的初始代碼並接受您的帖子作為解決方案。
(另外,為什麼我的 JSL 代碼在我的帖子中被格式化為沒有顏色? 我正在使用 圖標來插入片段。)
編輯:關於下標的精彩帖子。 沒有意識到這一點,但做了一些有趣的閱讀。 從那以後,我接受了自己的回答作為解決方案,因為它對我來說直觀上看起來更容易。
回复:部分 JSL 代碼不能在最終腳本中工作,但如果隔離則可以工作謝謝ih,我感謝您的回复! 兩個都試了,都不行。 在腳本指南中釣魚時接受建議。
回复:部分 JSL 代碼不能在最終腳本中工作,但如果隔離則可以工作最後一條語句的左側(LHS)有一個矩陣,右側有一個列(RHS)。
您有兩種不同的情況:在 ForEachRow 內部和外部。 如果在內部,則存在隱式行,並且列解析為標量。 如果在外面,則沒有隱式行。 當它在 ForEachRow 中工作時,您可能只選擇了一行。
列矩陣 (LHS) 僅支持 RHS 上的標量。 它不適用於 RHS 上的矩陣。
您可以使用數據表下標反而。 將表格視為 2D 矩陣(在這個小示例中為 3 行,1 列。)
dt = Open( "$sample_data/big class.jmp" );
dt[[2, 3, 4], {name}] = dt[[5, 6, 7], {name}];回复:部分 JSL 代碼不能在最終腳本中工作,但如果隔離則可以工作在移至下一行之前,JMP 可能未評估 Parameter_new 中的公式。嘗試在 For Each Row 函數之後添加:
dt << Run Formulas;
此外,您可以使用等待:
Wait(0);