你好
我在尝试着根据条件选择单个单元格并将其插入到 JSL 中的列中。
例如:
我有下表 - 我想将第二行 (11) 的“分数”值插入到“值”列下的第一行,因为:
当查看第一行和第二行时:
家 = 家且 y=y 且 x=x+1
输入:
| 分数 | 家 | y | X | 价值 |
| 10 | 我们 | 1 | 1 | |
| 11 | 我们 | 1 | 2 | |
| 10 | 加拿大 | 1 | 1 | |
| 10 | 我们 | 3 | 5 | |
预期的:
| 分数 | 家 | y | X | 价值 |
| 10 | 我们 | 1 | 1 | 11 |
| 11 | 我们 | 1 | 2 | |
| 12 | 加拿大 | 1 | 1 | |
| 13 | 我们 | 3 | 5 | |
谢谢
这很可能不完全是您想要的,但它确实解决了您的示例
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
Compress File When Saved(1),
New Column("score", Numeric, "Continuous", Format("Best", 12), Set Values([10, 11, 10, 10])),
New Column("home", Character(16), "Nominal", Set Values({"US", "US", "Canada", "US"})),
New Column("y", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 1, 3])),
New Column("x", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 1, 5])),
New Column("value", Numeric, "Nominal", Format("", 16), Set Values([., ., ., .]))
);
Row() = 1;
If(:home == Lag(:home, -1) & :y == Lag(:y, -1) & :x + 1 == Lag(:x, - 1),
:value[Row()] = Lag(:score, - 1)
);