¿Cuenta corriente de valores repetidos JSL Script?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Me gustaría escribir un conteo continuo o una suma acumulada de valores repetidos dentro de una columna.
Por ejemplo, la primera aparición debe ser igual a 1, el valor máximo de recuento por valor especificado debe ser igual a la suma acumulada del valor dentro de la columna.
| color | cuenta_color |
|---|
| ROJO | 1 |
| ROJO | 2 |
| AZUL | 1 |
| AMARILLO | 1 |
| ROJO | 3 |
Idealmente, la salida para :count_color no necesitaría ordenar la tabla de datos por :color
Gracias.
Re: ¿Cuenta acumulada de secuencias de comandos JSL de valores repetidos?Crear una nueva columna y asignarle la fórmula a continuación hace lo que busca, creo:
Col Cumulative Sum( 1, :Color )
Re: ¿Cuenta acumulada de secuencias de comandos JSL de valores repetidos?EDITAR: Puede querer ignorar esto. Esto brinda un recuento total de cada elemento que se puede usar en un script más adelante, pero en realidad no aborda la pregunta real del OP.
Una forma un poco más indirecta de hacer esto es usar la plataforma Resumen y luego leer la tabla resultante en cualquier objeto de secuencia de comandos que desee. He usado una matriz asociativa aquí.
// create temporary summary table
new = Data Table( "Untitled 8" ) << Summary( Group( :color ) );
// make sure "Untitled 8" is the correct title of the original data, containing a column named "color"
<BR />// transfer result to associative array
result = Associative Array(); // empty A.A.
For Each Row(new, result << Insert Item(:color, :N Rows)); // populate A.A.
Show(result); // display A.A. to log
Close(new, No Save); // close temporary summary table
Re: ¿Cuenta acumulada de secuencias de comandos JSL de valores repetidos?Hola @Craige_Hales ,
Estoy haciendo un conteo similar de todos los números que no son cero, o de lo contrario se cambiará a 1.
Si( :Número != 0,
Nombre Expr( Eval( Eval Expr( Col Sum( Fila() <= Expr( Fila() ), :Número ) ) ) ),
1
);
Esto no parece funcionar. Obtengo espacios negros para números distintos de cero. ¿Me puede ayudar con esto? Gracias.
Re: ¿Cuenta acumulada de secuencias de comandos JSL de valores repetidos?Pegue la fórmula de EM en el editor de fórmulas o envuelva la fórmula en NombreExpr ( explicación más larga aquí 
New Column( "count",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Name Expr( Eval( Eval Expr( Col Sum( Row() <= Expr( Row() ), :color ) ) ) ) )
),
Hay un error en JMP que ayudó a descubrir; la tabla resultante no incluye el envoltorio Name Expr( ) alrededor de la fórmula cuando se usa el comando <Re: ¿Cuenta acumulada de secuencias de comandos JSL de valores repetidos?
El uso del comando Eval en la fórmula genera una salida, pero todos los valores = 0
Quizás lo he interpretado mal. Mi fórmula de columna está a continuación.
// Cuenta corriente
Nueva columna ("count_color",
numérico,
continuo,
fórmula(
Eval(Eval Expr(Col Sum(Row() <= Expr(Row()), :color)))
)
);
Re: ¿Cuenta acumulada de secuencias de comandos JSL de valores repetidos?Pruebe esta expresión en una fórmula de columna (o en un bucle For Each Row());
evaluar ( Expr evaluación ( Suma de columna ( Fila () <= exp. ( Fila ()) , : color ))) ;