Hallo, ich bin ziemlich neu im Schreiben von JMP-Skripten und verwende für meine Arbeit hauptsächlich „Formel bearbeiten“. Ich habe nach Lösungen im Zusammenhang mit Col Cumulative Sum gesucht und konnte keine für mein spezifisches Problem finden. Die vereinfachte Version meiner Datentabelle lautet wie folgt.
| Reihe | Woche | Col Cumulative Sum | Mein Wunsch |
| 1 | 1 | 1 | 0 |
| 2 | 2 | 3 | 1 |
| 3 | 3 | 6 | 3 |
| 4 | 4 | 10 | 6 |
| 5 | 5 | 15 | 10 |
| 6 | 6 | 21 | 15 |
Die folgende Formel funktioniert, wenn der aktuelle Zeilenwert von „Woche“ fest ist oder wenn ich zwei separate Spalten „Woche“ und „Mein Wunsch“ habe.
If( Row() != 1,
Lag( Col Cumulative Sum( :Week ), 1 ),
0
)
Das Problem besteht darin, dass der Wert der „Woche“ der vorherigen Zeile festgelegt ist, der Wert der aktuellen Zeile jedoch nicht. Und ich habe nur eine Spalte „Woche“, mit der ich arbeiten kann. Ich entwickle eine Formel, die den Verlauf basierend auf dem vorherigen Simulationswert simuliert. Ich simuliere den „Woche“-Wert der aktuellen Zeile basierend auf dem der vorherigen Zeile.
Angenommen, ich arbeite an Zeile 4 in der Spalte „Woche“. Ich möchte alle vorherigen „Wochen“-Werte kumulativ summieren, ohne den aktuellen „Wochen“-Wert in der Funktion aufzurufen. Andernfalls entsteht in meinem Fall ein ungültiger Verweis oder ein zyklisches Problem.
Ich habe versucht, Subscript anstelle von Lag zu verwenden, da die Lag-Funktion den „Woche“-Wert der aktuellen Zeile aufruft. Es hat nicht funktioniert.
If( Row() != 1,
Col Cumulative Sum( :Week )[Row() - 1],
0
)
Ich hoffe, meine Erklärung war klar genug. Vielen Dank im Voraus für Ihre Zeit und Ihr Fachwissen. Ich verwende JMP Pro 17.