如何給列賦值請協助了解如何產生腳本,我想建立一個新列,透過判斷名為“rundate”的列來分配值{A,B,C,D,E},具有最舊日期的同一行需要分配“A” 。對於具有相同日期的行,需要分配相同的值,對於具有不同日期的行需要分配不同的值,如圖所示。
運行日期
2020年4月1日 7:18
2020年4月1日 7:18
2020年4月1日 7:18
2020年4月1日 7:47
2020年4月1日 8:13
2020年4月1日 8:13
2020年4月1日 8:13
2020年4月1日 8:13
2020年4月1日 8:13
2020年4月1日 8:43
2020年4月1日 8:43
2020年4月1日 8:43
2020年4月1日 8:43
2020年4月1日 8:43
2020年4月1日 8:43
2020年4月1日 8:43
2020年4月1日 9:13

回覆:如何為列分配值我有一個問題要問你......你有讀過有關公式的文檔嗎?如果沒有,您需要閱讀發現 JMP 文檔
幫助==>JMP 文件庫 發現 JMP
這是對之前公式的修改
If( Row() == 1,
theGroup = {"WL15", "WL08", "WL06", "WL02", "WL01"};
counter = 1;
);
If(
Lag( :Group ) != :Group, counter = 1,
Lag( :rundate ) != :rundate, counter
++);
theGroup[counter];
我還建議,由於公式基於數據的順序,因此一旦公式正確運行,您就進入新列的列信息,並從列屬性中刪除公式。這將保留值,但如果更改資料的順序,則不會重新執行公式
回覆:如何為列分配值非常感謝您的快速回复,非常感謝您的建議,效果很好,還有一個問題,如果再添加一個稱為組的列,數據按組和運行日期排序,如何生成如圖所示的“新列” ?差別在於 1.) 列分配值發生變化,而不是單一字元。 2.) 考慮到群組名稱也會發生變化,因此指派的值重設為第一個「WL15」。
新欄位分配的值為 {WL15、WL08、WL06、WL02、WL01},手動定義。

集團運作日期
WS12 2020年4月1日 7:18
WS12 2020年4月1日 7:18
WS12 2020年4月1日 7:18
WS12 2020年4月1日 7:47
WS12 2020年4月1日 8:13
WS12 2020年4月1日 8:13
WS12 2020年4月1日 8:13
WS12 2020年4月1日 8:13
WS12 2020年4月1日 8:13
WS12 2020年4月1日 8:43
WS12 2020年4月1日 8:43
WS12 2020年4月1日 8:43
WS12 2020年4月1日 8:43
WS12 2020年4月1日 8:43
WS12 2020年4月1日 8:43
WS12 2020年4月1日 8:43
WS12 2020年4月1日 9:13
XW32 2020年4月1日 9:41
XW32 2020年4月1日 10:17
XW32 2020年4月1日 10:46
XW32 2020年4月1日 10:46
XW32 2020年4月1日 10:46
XW32 2020年4月1日 11:19
XW32 2020年4月1日 14:46
XW32 2020年4月1日 14:46
XW32 2020年4月1日 14:46
XW32 2020年4月1日 14:46
XW32 2020年4月1日 14:46
WY07 2020年4月1日 15:12
WY07 2020年4月1日 15:41
WY07 2020年4月1日 18:23
WY07 2020年4月1日 18:52
回覆:如何為列分配值這個公式應該可以滿足你的要求
If( Row() == 1,
theLetter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
counter = 1;
);
If( Lag( :rundate ) != :rundate,
counter
++);
Substr( theLetter, counter, 1 );