如何選擇“如果列包含特定值,否則不執行任何操作”大家好,
是否可以為列編寫一個選擇語句,如果該列不包含所需的值,它將不執行任何操作,但如果該列確實包含我正在查找的值,我可以讓它執行其他腳本編寫?
我的交易資料中有一個通知代碼列,其中包含 3 個值「1-新增」、「3-更新」和「4-刪除」。 當表更新並且列中恰好有“4-Delete”時,我目前對資料進行子集化,然後將其匹配/更新回原始文件以確定第一個實例(即添加或更新)和從表中刪除該交易的兩筆記錄。 今天是資料更新且不包含 4-Delete 的第一個實例。 這導致我的選擇和刪除語句刪除了表中的所有記錄。 以下是選擇和刪除的目前 JSL 範例:
rowchoice = dt3 << Get Rows Where (:Notification Code == "4-Delete");
dt3 << Select Rows (rowchoice);
subdt1 = dt3 << Subset(
Link to Original Data Table (0),
Rows(),
Output Table Name ("Deletions")
);
subdt1.2 = Current Data Table ();
subdt1.2 << Delete Column (:N Rows);
subdt1.2 << New Column ("Deletions", Numeric, Continous,
<< set each value(1)
);
dt3 << Update (
With (Data Table ("Deletions")),
Match Columns (:ROL Case # == :ROL Case #, :"Card/Account Number" == :"Card/Account Number"),
Selected (:Deletions)
);
Close(subdt1.2, No Save);
rowchoice = dt3 << get rows where (:Deletions == 1);
dt3 << Select Rows(rowchoice);
dt3 << Delete Rows (rowchoice);
dt3 << Delete Column (:Deletions);
任何幫助是極大的讚賞。
回覆:如何選擇“如果列包含特定值,否則不執行任何操作”效果很好! 感謝您的幫忙!
回覆:如何選擇“如果列包含特定值,否則不執行任何操作”據我所知,以下內容將起作用
rowchoice = dt3 << Get Rows Where (:Notification Code == "4-Delete");
If( N Rows( rowchoice ) > 0,
dt3 << Select Rows (rowchoice);
subdt1 = dt3 << Subset(
Link to Original Data Table (0),
Rows(),
Output Table Name ("Deletions")
);
subdt1.2 = Current Data Table ();
subdt1.2 << Delete Column (:N Rows);
subdt1.2 << New Column ("Deletions", Numeric, Continous,
<< set each value(1)
);
dt3 << Update (
With (Data Table ("Deletions")),
Match Columns (:ROL Case # == :ROL Case #, :"Card/Account Number" == :"Card/Account Number"),
Selected (:Deletions)
);
Close(subdt1.2, No Save);
rowchoice = dt3 << get rows where (:Deletions == 1);
dt3 << Select Rows(rowchoice);
dt3 << Delete Rows (rowchoice);
dt3 << Delete Column (:Deletions);
);