JMP腳本問題<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我是一個嘗試學習JMP腳本的新用戶。 我有一個非常簡單的腳本,但遇到了預期的結果。 可能有人可以給我一個關於我在這裡做錯的指針。 提前致謝。 (順便說一句:我正在使用JMP 8.02)
我有一個非常簡單的表如下(test1.csv):
| Tool_first | Tool_second | Process_time | Tool_third | GROUP_1 | Real_beta | 基礎 |
| 一個 | C | 4/3/2011 0:53 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/3/2011 1:08 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/3/2011 5:27 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/3/2011 6:26 | Ë | AE | 0.0058 | ÿ |
| 一個 | d | 4/3/2011 6:39 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/3/2011 6:49 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 2011年4月3日18:43 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/3/2011 23:42 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/4/2011 5:20 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/4/2011 8:34 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/4/2011 10:43 | Ë | AE | 0.0058 | ÿ |
| 一個 | d | 4/4/2011 11:02 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/4/2011 13:57 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/4/2011 14:28 | Ë | AE | 0.0058 | ÿ |
| 一個 | d | 4/4/2011 16:43 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 2011年4月4日20:01 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/4/2011 20:17 | Ë | AE | 0.0058 | ÿ |
| 一個 | d | 4/4/2011 21:45 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 4/5/2011 18:20 | Ë | AE | 0.0058 | ÿ |
| 一個 | d | 2011年4月5日20:02 | Ë | AE | 0.0058 | ÿ |
| 一個 | C | 2011年4月5日20:35 | Ë | AE | 0.0058 | ÿ |
以下腳本讀入.csv文件,並根據一行與其前一行的比較向表中添加兩列。 我的腳本如下
Source_Table = Open(“c:\ test1.csv”);
Source_Table << Sort(By(group_1,process_time),order(Ascending),Replace Table);
新欄目(“Inspect_pt”,
式(
如果(行()== 1,1,
(:group_1 [row()]!=:group_1 [row() - 1]),1,
(:group_1 [row()] ==:group_1 [row() - 1]),0)));
新欄目(“tool_Change”,
式(
如果(行()== 1,1,
(:tool_second [row()]!=:tool_second [row() - 1]),1,
(:tool_second [row()] ==:tool_second [row() - 1]),0
)
)
);
show(當前數據表());
/ *嘗試輸出最後兩列的值* /
for(i = 1,i ,:tool_Change ););
結果表沒問題,但腳本的最後一行沒有在兩個新創建的列上返回任何結果。 日誌窗口顯示索引變為:: i。
輸出表:
[缺少圖像]
但是日誌窗口顯示最後兩列未正確拉出的結果。 我使用了錯誤的索引嗎?此處的日誌窗口輸出:
當前數據表:DataTable(“test1”)
我:1
行:1
:Inspect_pt [:: I] :. < - 這是不正確的
:tool_Change [:: I] :. < - 這是不正確的
我:2
行:2
:Inspect_pt [:: I] :.
:tool_Change [:: I] :.
I:3
行:3
:Inspect_pt [:: I] :.
:tool_Change [:: I] :.
我:4
行:4
:Inspect_pt [:: I] :.
:tool_Change [:: I] :.
JMP腳本問題感謝大家提供有價值的信息。 這個論壇很棒。
JMP腳本問題在編寫使用早期流程中的值來確定如何繼續的腳本時,這一點變得尤為重要(例如 選擇Where(:tool_change == 1)以便進行子集化。 通過在這樣的代碼塊的末尾插入“運行公式”行,您可以告訴JMP暫停,評估所有掛起的公式,然後繼續執行腳本的其餘部分。
我不太熟悉'eval公式'的行為(我通常使用'運行公式' - 只是習慣問題),所以這是推測,但根據具體的過程,我可以看到有利於'的情境差異' eval公式'over'運行公式'(即,您只關心一個公式進行決策,您可以只指示該公式進行評估,以便稍後保存剩餘的公式評估)。 這裡的差異實際上取決於您需要做多少公式評估以及何時需要完成。
JMP腳本問題你好
在繼續下一個命令之前,JMP沒有完成一個“命令” - 它讀取“新列”命令並開始執行它,但繼續讀取並執行下一個命令。
這裡發生的是'新列'命令沒有完成執行(這種類型的命令特別需要一些時間,因為圖形必須更新),在JMP使用'show'命令讀取最後一行之前,所以沒有執行此命令時列中的值。
要么“沖洗”上面的公式,要么將'eval公式'直接放入'new column'命令,例如
新列(“標題”,數字,公式(:X1 *:X2),eval公式);
據我所知,這兩種方法具有相同的效果。
BR,Marianne
PS:我不是來自JMP
JMP腳本問題你好HY,
我不確定你為什麼需要這個聲明 - 我是從JMP技術支持得到的。 也許JMP的某個人可以解釋一下?
問候,
彼得
JMP腳本問題謝謝PMroz。 這就是訣竅。 為了我自己的利益,請您詳細說明發生了什麼以及為什麼需要額外的線才能實現這一目標。 再次感謝
JMP腳本問題嘗試使用以下語句“刷新”JMP的公式緩衝區:
Source_Table <<運行公式;
在公式定義後添加此行。