下面是一個使用 Col Cumulative Sum() 進行比較的選項
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(14),
Compress File When Saved(1),
New Column("Column 1",
Character,
"Nominal",
Set Values(
{"No", "No", "No", "No", "Yes", "No", "No", "No", "No", "No", "Yes",
"No", "No", "No"}
)
),
New Column("Column 2",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3])
)
);
dt << New Column("Series", Numeric, Continuous, Formula(
Col Cumulative Sum(:Column 1 == "Yes") + 1
));謝謝!!
現在我需要更多幫助,如果我有另一列並且我希望它“重置”計數,如下所示:
| 第 0 列 | 第 1 列 | 系列 |
| 紅色的 | 不 | 1個 |
| 紅色的 | 不 | 1個 |
| 紅色的 | 不 | 1個 |
| 紅色的 | 不 | 1個 |
| 紅色的 | 是的 | 2個 |
| 紅色的 | 不 | 2個 |
| 紅色的 | 不 | 2個 |
| 藍色的 | 不 | 1個 |
| 藍色的 | 不 | 1個 |
| 藍色的 | 不 | 1個 |
| 藍色的 | 是的 | 2個 |
| 藍色的 | 不 | 2個 |
| 藍色的 | 不 | 2個 |
| 藍色的 | 不 | 2個 |
| 綠色的 | 不 | 1個 |
| 綠色的 | 不 | 1個 |
| 綠色的 | 不 | 1個 |
| 綠色的 | 不 | 1個 |
| 綠色的 | 不 | 1個 |
| 綠色的 | 是的 | 2個 |
| 綠色的 | 不 | 2個 |
| 綠色的 | 不 | 2個 |
我試過這個:
dt << New Column("Series", Numeric, Continuous, Formula(If( :column 0 == Lag( :column 0, 1 ),
(Col Cumulative Sum(:column 1 == 1) + 1),
(Col Cumulative Sum(:column 1 == 1) + 0)
)));
列累計和()確實支持 所以你可以使用 :Column 0 作為 byvar 並且它將對從 :Column 0 中找到的每個值單獨執行計算
您好,我需要有關使用 JSL 創建列的幫助,該列填充一個系列並在由另一個列值觸發時增加一個。
就像下面的第 2 列一樣,每當第 1 列中有一個“是”時,它就會將第 2 列中的值增加 1。
希望我足夠清楚。
| 第 1 列 |
第 2 欄 |
| 不 |
1個 |
| 不 |
1個 |
| 不 |
1個 |
| 不 |
1個 |
| 是的 |
2個 |
| 不 |
2個 |
| 不 |
2個 |
| 不 |
2個 |
| 不 |
2個 |
| 不 |
2個 |
| 是的 |
3個 |
| 不 |
3個 |
| 不 |
3個 |
| 不 |
3個 |