Hallo
ich versuche zu Wählen Sie eine einzelne Zelle basierend auf der Bedingung aus und fügen Sie sie in eine Spalte in JSL ein.
Zum Beispiel:
Ich habe die folgende Tabelle – ich möchte in die erste Zeile unter der Spalte „Wert“ den „Score“-Wert der zweiten Zeile (11) einfügen, weil:
beim Blick auf die erste und zweite Reihe:
home = home und y=y und x=x+1
Eingang:
| Punktzahl | heim | j | X | Wert |
| 10 | UNS | 1 | 1 | |
| 11 | UNS | 1 | 2 | |
| 10 | Kanada | 1 | 1 | |
| 10 | UNS | 3 | 5 | |
Erwartet:
| Punktzahl | heim | j | X | Wert |
| 10 | UNS | 1 | 1 | 11 |
| 11 | UNS | 1 | 2 | |
| 12 | Kanada | 1 | 1 | |
| 13 | UNS | 3 | 5 | |
Danke
Höchstwahrscheinlich ist dies nicht genau das, was Sie wollen, aber es löst Ihr Beispiel
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)
);