如果選擇了行,則設置單元格值你好,
我是一個新手,試圖編寫一個腳本來在單元格的行被選中時填寫單元格值。我想到的用例如下:在探索性數據分析期間,我在圖表中選擇了一些我懷疑是異常值的點。我有另一個腳本可以幫助我查看原始數據(不是 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 ,
嗯,對我來說,驗證數據可能是一項可能需要多次編輯會話的任務。另外,也許我很笨拙,但對我來說很容易不小心取消選擇。這是一個可以理解的替代建議@Thierry_S建議:
- 如果摘要/計算數據被認為質量不佳,請右鍵單擊並排除
- 一旦完成驗證並運行標準分析
- 創建一個新列,我將調用排除狀態。製作數據類型行狀態,它有一個紅色的星形圖標。現在您可以單擊該列名稱並選擇從行狀態復制請參閱下面的屏幕截圖。

- 然後創建一個名為 Flag 或 Excluded 的列,將其設為 Numeric、Nominal。 做一個公式排除()並選擇應用按鈕,然後清除公式,按好的. 現在您將在排除的行中有 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