A continuación se muestra una opción que usa Col Cumulative Sum() con comparación
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
));¡¡Gracias!!
Ahora necesito más ayuda, si tengo otra columna y quiero que "restablezca" el conteo, así:
| columna 0 | columna 1 | Serie |
| Rojo | No | 1 |
| Rojo | No | 1 |
| Rojo | No | 1 |
| Rojo | No | 1 |
| Rojo | Sí | 2 |
| Rojo | No | 2 |
| Rojo | No | 2 |
| Azul | No | 1 |
| Azul | No | 1 |
| Azul | No | 1 |
| Azul | Sí | 2 |
| Azul | No | 2 |
| Azul | No | 2 |
| Azul | No | 2 |
| Verde | No | 1 |
| Verde | No | 1 |
| Verde | No | 1 |
| Verde | No | 1 |
| Verde | No | 1 |
| Verde | Sí | 2 |
| Verde | No | 2 |
| Verde | No | 2 |
Intenté esto:
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)
)));
Suma acumulativa de columna() admite , por lo que puede usar: Columna 0 como byvar y realizará el cálculo por separado para cada valor encontrado de: Columna 0
Hola, necesito ayuda para crear una columna, usando JSL, que llene una serie y aumente en uno cuando se activa con otro valor de columna.
Al igual que la columna 2 a continuación, cada vez que hay un "Sí" en la columna 1, aumenta en 1 el valor de la columna 2.
Espero ser lo suficientemente claro.
| columna 1 |
columna 2 |
| No |
1 |
| No |
1 |
| No |
1 |
| No |
1 |
| Sí |
2 |
| No |
2 |
| No |
2 |
| No |
2 |
| No |
2 |
| No |
2 |
| Sí |
3 |
| No |
3 |
| No |
3 |
| No |
3 |