如何选择“如果列包含特定值,否则不执行任何操作”大家好,
是否可以为列编写一个选择语句,如果该列不包含所需的值,它将不执行任何操作,但如果该列确实包含我正在查找的值,我可以让它执行其他脚本编写?
我的交易数据中有一个通知代码列,其中包含 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);
);