この数式がありますが、同じ行に値を加算しています。
If(
:Column 2 != Lag( :Column 2 ) | Row() == 1, :Column 1,
Row() == 2 | Lag( :Column 2, 1 ) != :Column 2, :Column 2 - (:Column 1 + Lag( :Column 1, 1 )),
Lag( :Result ) - :Column 1
)
私がやりたいことは次のようなものです:
列 1 と列 2 には値が与えられます。列 2 の値が変更された場合、結果は列 1 の開始値と同様になるはずです。
| 列 1 | 列 2 | 結果 | (計算のはずです) |
| 10 | 20 | 10 | 列 1 に同じ値 |
| 2 | 20 | 10 | 列 2 - 列 1 行 1 (20-10) |
| 5 | 20 | 8 | 列 2 - 列 1 行 1 ~ 2 (20 - 12 +2) |
| 3 | 20 | 3 | 列 2 - 列 1 行 1 ~ 3 (20 - 12 +2 +5) |
| 2 | 15 | 2 | |
| 1 | 15 | 13 | |
| 3 | 15 | 12 | |
| 4 | 15 | 9 | |
このような表の方程式を作成するにはどうすればよいですか?
By vars は、Col 統計関数で使用できる引数です。統計関数 (jmp.com)

Names Default To Here(1);
dt = New Table("Untitled 4",
Add Rows(8),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([10, 2, 5, 3, 2, 1, 3, 4])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([20, 20, 20, 20, 15, 15, 15, 15])),
New Column("Result", Numeric, "Continuous", Format("Best", 12), Set Values([10, 10, 8, 3, 2, 13, 12, 9]))
);
dt << New Column("Calc",
Numeric,
Continuous,
Formula(
If(Row() == Col Min(Row(), :Column 2),
:Column 1
,
:Column 2 - Col Cumulative Sum(:Column 1, :Column 2) + :Column 1
)
)
);