ZeilenproblemIch habe eine zweiteilige Frage. Ich versuche, den Wert vorheriger Zeilen in einer Spalte basierend auf Daten in einer anderen Spalte zu ändern, und habe dabei ein paar Probleme. Wenn sich im Beispiel unten der Status von „Status1“ zu etwas anderem ändert (beachten Sie die grünen Zellen), möchte ich den Wert der Zelle 6 Zeilen nach oben ändern (rote Zelle).

Die Spaltenformel, die ich verwende, ist unten.

Wie Sie der Tabelle entnehmen können, fügt das Skript zwar eine 99 in Row()-6 ein, aber es gibt auch eine 99 in Row(). Ich kann nicht herausfinden, woher das letzte kommt.
Das größere Problem, das ich hier zu lösen versuche, besteht darin, dass ich alle Zellen ab der Statusänderung mit 99 füllen möchte (also Row(), Row()-1, Row()-2, ... , Row). ()-6 sind alle 99). Ich habe versucht, dazu eine FOR-Schleife zu verwenden (siehe zweites Skript unten), aber es bewirkt nichts.

Wie Sie sicher sehen können, kenne ich mich mit JSL nicht so gut aus, daher wäre ich für jede Hilfe sehr dankbar. Vielen Dank.
Automatisierung und SkripterstellungBetreff: ZeilenproblemDanke, das möchte ich auch wissen.
Betreff: ZeilenproblemDa ich Ihre Datentabelle nicht habe, ist dies nur eine Vermutung
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(23),
Compress File When Saved(1),
New Column("S",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "B", "B", "B", "C", "C"}
)
)
);
dt << New Column("R", Numeric, Continuous, Formula(
If(:S == "A" & Lag(:S, -6) != "A",
99
, :S == "A",
Lag(:R)
);
));
Sie können Lag verwenden, um nach Werten dahinter und auch vorwärts zu suchen.
Betreff: ZeilenproblemVielen Dank für die Hilfe! Ich wusste nicht, dass es negative Verzögerungen geben kann. Das ist sehr praktisch.