刪除重複項大家好,
我正在嘗試對數據表進行排序,它有重複的值:

正如您所看到的,我在 CHART_PARAMETER 中的不同名稱具有相同的值,我的興趣是僅獲取每個值具有一種 CHART_PARAMETER 類型的行。 我嘗試了“過濾資料”,但它打開了JMP 窗口,其中包含可供選擇的選項,我正在嘗試執行所有計算,以便用戶不會看到它們,並創建一個包含選定行的新資料表,並對此數據進行進一步的操作。
謝謝。
回覆:刪除重複項查看腳本索引
幫助==>腳本索引==>函數==>滯後
另外,請查看書籍《使用 JMP》
幫助==>書籍==使用JMP
落後
傳回目前行定義的行中第一個參數的值減去第二個參數。 預設滯後為 1,您可以將其變更為任意數字。 為標識行號小於 1 的任何延遲傳回的值遺失。 注意,Lag(X, n) 給出的結果與下標符號 XRow( )–n 相同。
回覆:刪除重複項如果有的話,可以寄給我滯後功能的訊息嗎? 我建立了一些例子,但不是你使用的方式。
非常感謝你的幫忙!回覆:刪除重複項這是我的錯。在我的匆忙中,我指出了結尾“num”的錯誤位置。這是一個小腳本,用於建立實體列,然後新增帶有計數器的新列。
Names Default To Here( 1 );
dt = New Table( "count",
Add Rows( 34 ),
New Column( "Entity",
Character,
"Nominal",
Set Values(
{"RLC101", "RLC101", "RLC101", "RLC101", "RLC102", "RLC102", "RLC102", "RLC102", "RLC102",
"RLC102", "RLC102", "RLC102", "RLC102", "RLC102", "RLC102", "RLC102", "RLC103", "RLC103", "RLC103",
"RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC104",
"RLC104", "RLC104", "RLC104", "RLC104", "RLC101"}
)
)
);
dt << New Column( "Number",
numeric,
formula( If( Lag( :ENTITY ) != :ENTITY, num = 1, num = num + 1 );
num;
));回覆:刪除重複項你好,
對於每個實體,我仍然只有一個值“1”。
MP = AR << Sort(
by(ENTITY,LOT_DATA_COLLECT_DATE),Order(Ascending,Descending)
);
//MP:LOT_DATA_COLLECT_DATE << Format("m/d/y")<<Data Type("Character")<<Modeling Type("Nominal") ;
MP << New Column("num",
Character,
Formula(
If( Lag(:ENTITY) != :ENTITY,
num = 1,
num = num + 1
)
)
);
num ; 我可以使用其他方式嗎? 我能做錯什麼? 日期應該採用特定格式嗎?
滯後函數比較前一行的事件與事件,現在要比較的值是日期列怎麼辦?
謝謝。
回覆:刪除重複項公式複製不正確。您在公式中留下了尾隨的「num」。公式的工作方式是,最後表示的值是傳回 jmp 的值。因此,透過將「num」指定為公式中的最後一項,它就是傳回的內容
MP = AR << Sort(
by(ENTITY,LOT_DATA_COLLECT_DATE),Order(Ascending,Descending)
);
MP << New Column("num",
Character,
Formula(
If( Lag(:ENTITY) != :ENTITY,
num = 1,
num = num + 1
)
)
);
num;
回覆:刪除重複項吉姆嗨,
我嘗試了你的腳本
請參閱:
程式碼運行後的表格。
Num 沒有得到正確的數字。

MP = AR << Sort(
by(ENTITY,LOT_DATA_COLLECT_DATE),Order(Ascending,Descending)
);
MP << New Column("num",
Character,
Formula(
If( Lag(:ENTITY) != :ENTITY,
num = 1,
num = num + 1
)
)
);謝謝。
回覆:刪除重複項我認為解決方案比你想像的更簡單。
- 依實體升序、日期降序對資料進行排序
- 建立一個具有以下公式的新列,它是每個實體內的一個簡單計數器
If( Lag( :Entity ) != :Entity,
num = 1,
num = num + 1
);
num;
最後,您可以選擇新列的值 <= 3
回覆:刪除重複項你好,
感謝您的快速回覆。
現在我嘗試為每個實體按日期選擇最後 3 個點。 我可以按實體對錶進行分組,但之後我需要按日期範圍來尋找最後 3 個點。 我如何使用選擇位置或任何其他功能來做到這一點。
RCL 是我的實體和 Entiry_1 名稱,我需要為每個欄位按日期選擇最後 3 個值。 例如:
RCL101 Chart_Value 中按日期列出的 3 個最後值和圖表_值_1。
將使用任何幫助:)
謝謝。
我的數據表:
LOT_DATA_COLLECT_DATE CHART_TYPE MODULE CHART_VALUE ENTITY MEASUREMENT_SET_NAME MONITOR_SET_NAME ENTITY_1 LOT_DATA_COLLECT_DATE_1 CHART_VALUE_1 MONITOR_SET_NAME_1 CHART_TYPE_1
2017/01/20 2:46:43 PM X-BAR RCL FE 8234.73 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/20 8:25:35 PM X-BAR RCL FE 8734.13 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/22 4:40:38 AM X-BAR RCL FE 8743.67 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/22 3:51:54 PM X-BAR RCL FE 8539.85 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/25 10:39:43 AM X-BAR RCL FE 9179.86 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/28 9:03:46 PM X-BAR RCL FE 8097.51 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/31 10:26:57 PM X-BAR RCL FE 7979.97 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/07 6:53:08 PM X-BAR RCL FE 7992.35 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/22 8:40:50 AM X-BAR RCL FE 7672.35 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/27 7:54:09 AM X-BAR RCL FE 8319.25 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/02 3:11:43 AM X-BAR RCL FE 7506.47 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/06 10:42:00 PM X-BAR RCL FE 8046.7 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/18 12:47:10 AM X-BAR RCL FE 81.0555 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/20 12:35:05 PM X-BAR RCL FE 9159.32 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/28 1:58:47 AM X-BAR RCL FE 9278.75 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/03 4:38:46 AM X-BAR RCL FE 9288.21 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/07 4:24:21 AM X-BAR RCL FE 8677.35 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/21 7:22:14 AM X-BAR RCL FE 9969.63 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/24 1:10:21 PM X-BAR RCL FE 9291.7 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/31 1:16:24 AM X-BAR RCL FE 9521.71 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/05 4:41:46 AM X-BAR RCL FE 9287.35 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
RCL101 2017/01/21 7:34:05 AM 3897.38724 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL101 2017/01/24 1:28:26 PM 3898.22897 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL101 2017/01/31 12:17:43 AM 4002.58931 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL101 2017/02/05 5:01:06 AM 4014.63793 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL102 2017/02/03 4:41:11 AM 4001.03793 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL102 2017/02/07 5:03:23 AM 3927.14069 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/02 5:45:08 PM 3831.54276 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/02 5:49:14 PM 3827.88931 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/03 3:24:54 AM 3786.87207 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/06 11:49:29 PM 3847.12241 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/01/20 2:49:09 PM 3960.13897 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/01/29 1:54:30 AM 3988.62414 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/01/31 9:58:15 PM 3984.87379 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/02/07 6:42:46 PM 4064.63414 RCLFE.ASHRATE_PST.74.MON X-BAR
回覆:刪除重複項這是一個快速腳本,它將傳回一個資料表,其中僅包含具有一個條目的圖表值
Names Default To Here( 1 );
dt = Current Data Table();
dtsumm = dt << Summary(
invisible,
Group( :Chart_Value ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
dtsumm << select where( :n rows > 1 );
dtsumm << delete rows;
dtfinal = dt << Join(
With( dtsumm ),
By Matching Columns( :Chart_Value = :Chart_Value ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);
Close( dtsum, nosave );