JSL 條件多個 if 語句比較兩列中的值在我的數據表中,我想比較兩個不同列中的值並將比較結果放入新列中。 我可以使用公式使其工作,但無法將其轉換為 JSL。 我需要下面的公式作為 JSL 腳本。
如果 MHD < MTV * -6 => 0
如果 MHD > MTV * 6 => 0
否則=> 1
這裡 MHD 和 MTV 是兩個具有連續數值的數據列。 我正在比較每一行這兩列中的值。
我嘗試了下面的腳本,但它不起作用。
新列(“P/F”、數字、“標稱”、公式(If(:MHD < :MTV * -6, 0, :MHD > :MTV*6, 0, 1)))
任何指導將不勝感激。
回复:JSL 條件多個 if 語句比較兩列中的值感謝您的精彩提示。 現在我不必更改使用特殊字符的列標籤。回复:JSL 條件多個 if 語句比較兩列中的值JSL 將 & 等解釋為計算元素,而不是名稱的一部分。看一下 :Name() 函數,您可以將其放置在列名周圍,以確保 JSL 正確解釋列名。
如果您的 MDH 列被命名為 MDH/PQR,JSL 會將該名稱解釋為將名為 MDH 的變量除以名為 PQR 的變量的數學計算。但如果您將其引用為:
:姓名(“MDH/PQR”)
一切都會很好。
在你的代碼中它看起來像
New Column ("P/F", Numeric, "Nominal", Formula(If(:MTV *(-6) < :Name("MDH/PQR") < :MTV * 6,1,0)))回复:JSL 條件多個 if 語句比較兩列中的值感謝您的快速響應和解決問題的好主意。 我的腳本現在可以運行了。 我注意到的另一件事是,如果任何列標籤有“-”或“&”,那麼腳本將無法工作。 一旦這些特殊字符被刪除,腳本就可以正常工作。回复:JSL 條件多個 if 語句比較兩列中的值謝謝。 這個解決方案也非常有效。回复:JSL 條件多個 if 語句比較兩列中的值Formula( If( :MDH < :MTV * -6 | :MDH > :MTV * 6, 0, 1 )
或許?
回复:JSL 條件多個 if 語句比較兩列中的值JSL在處理上有一個小問題
:MTV * -6
JSL 可以將 -6 視為減法,而不是負數。因此,更明智的做法是將其引用為
:MTV * (-6)
以確保 JMP 正確解釋它。
以下是設置公式以獲得所需結果的幾種不同方法。
New Column ("P/F", Numeric, "Nominal", Formula(If(:MTV *(-6) < :MDH < :MTV * 6,1,0)))
//or
New Column ("P/F", Numeric, "Nominal", Formula(If(:MTV *(-6) < :MDH | :MDH > :MTV * 6,0,1)))