如果選擇行則設定儲存格值你好,
我是一個新手,試圖編寫一個腳本來填充單元格值(如果選擇了該行)。我想到的用例如下:在探索性資料分析期間,我在圖表中選擇了一些我懷疑是異常值的點。我有另一個腳本可以幫助我查看原始數據(不是 JMP 表的一部分),並且根據查看該原始數據,我決定應從我的分析中排除與該數據點對應的行(即使用的原始數據)生成該特定行是垃圾)。我只需右鍵單擊並選擇“排除”即可。現在我所有的 JMP 分析都只關注好的數據點,這很好。現在,在完成所有這些分析後,我想返回並對我排除的行進行一些分析。例如,如果每一行代表不同操作員收集的數據,則可能一個操作員正在產生大量垃圾數據。我當然可以做一個點擊解決方案來選擇所有排除的行並創建一個新的子集資料表,但我更喜歡做的是添加一個新列(我們稱之為FlagColumn)並將FlagColumn 中的所有選定行設定為“壞”,所有其他行都為“好”。我的想法是這樣的:
dt = current data table();
rows = dt << get selected rows ;
For( i=1,
i<=5,
i++,
if(Row State(i) == Selected State(1),
dt:FlagColumn[i] = 0
);
);但這似乎沒有做任何事情 - 我想我不明白如何正確設定 if 語句中的條件。另外,我還沒有弄清楚如何獲取表中的行數(因此出於測試目的,目前我只是將 for 循環中的索引 i 設定為從 1 到 5 運行)。有什麼建議麼?先致謝!
資料混合與清理回覆:如果選擇行則設定儲存格值如果您不想編碼並保持交互,您可以使用 Rows -> Row Selection -> Name Selection in Column 。 這將建立一個列,其中包含所選行的值和其他行的值(或缺失值)。 與上面提到的腳本化行狀態選項所實現的效果類似
回覆:如果選擇行則設定儲存格值@jdwatson ,
嗯,對我來說,驗證資料可能是一項可能需要多個編輯會話的任務。另外,也許我很笨拙,但對我來說,很容易意外取消選擇。這是一個替代建議,它包含@蒂埃里_S建議:
- 如果摘要/計算資料被認為品質較差,請右鍵單擊並排除
- 完成驗證並執行標準分析後
- 建立一個新列,我將其稱為“排除狀態”。設定資料型行狀態,它有一個紅色星形圖示。現在您可以單擊該列名稱並選擇從行狀態複製請參閱下面的螢幕截圖。

- 然後建立一個名為「標記」或「排除」的列,將其設為「數字」、「名義」。 做一個公式排除()並選擇應用程式按鈕,然後清除公式,按好的。 現在,排除行中的值為 1,其他行中的值為 0。
- 現在您可以清除行狀態並按計劃使用此標誌列。但您還有一個額外的好處,可以快速點擊“排除狀態”列並選擇複製到行狀態,如果您需要對優質數據進行進一步分析。
當存在可疑資料或請求「如果廢話被刪除了怎麼辦」分析時,行狀態列尤其有用。您可以為標準排除項和標準+額外排除項保留行狀態。這是行狀態處理的一種形式,不是互動式的也不是動態的,但非常有用。
回覆:如果選擇行則設定儲存格值啊,是的,這看起來它也完成了我想做的同樣的事情,而無需任何腳本。不過,本地資料過濾器似乎不顯示行狀態列。有沒有辦法配置圖形窗口,使其包含排除的行,然後使用行狀態進行過濾?或者現在我這麼說,也許我真正的問題是獲得圖表/分析的最簡單方法是什麼僅有的排除的行而不建立單獨的子集資料表?
回覆:如果選擇行則設定儲存格值我想我回答了我自己的問題。添加如下以防其他人遇到此問題:
dt = current data table();
rs = dt << Get Row States;
For( i=1,
i<=Length(rs),
i++,
if(rs[i] == 1,
FlagColumn[i] = 1
);
);回覆:如果選擇行則設定儲存格值還有一件事,
您是否考慮將 FlagColumn 資料類型變更為「行狀態」並使用它來捕獲當前選擇狀態(右鍵單擊列標題 > 行狀態單元格 > 選擇/取消選擇?
最好的,
TS回覆:如果選擇行則設定儲存格值你好,
首先,尚不清楚為什麼要定義「rows = dt << get selected rows」而不是在後續腳本中使用它。
其次,您是否考慮過更簡單的公式:“Selected ()”,如果選擇則傳回 1,如果未選擇則傳回 0(即將 FlagColumn 公式設定為:“Selected ()”)。 值得注意的是,與所有公式一樣,它預設會自動求值,因此您可能需要在公式對話方塊中切換到「抑制求值」狀態以保留某種選擇狀態。 此外,如果您只需要捕獲一次選擇狀態,您可以新增公式、套用變更並刪除公式,這將保留執行公式時選擇的內容的穩定記錄。回覆:如果選擇行則設定儲存格值查看 make rowstste Handler