Contar el número de valores o palabras en cada columnaTengo un conjunto de datos y quiero contar la cantidad de "OK" y colocar el valor calculado en la parte inferior de la fila para cada columna.
Por ejemplo:
| desde | y | anuncio |
| Oh, oh; | DE ACUERDO | DE ACUERDO |
| Oh, oh; | DE ACUERDO | DE ACUERDO |
| Oh, oh; | DE ACUERDO | DE ACUERDO |
| DE ACUERDO | DE ACUERDO | DE ACUERDO |
| DE ACUERDO | DE ACUERDO | DE ACUERDO |
| DE ACUERDO | DE ACUERDO | DE ACUERDO |
| DE ACUERDO | DE ACUERDO | DE ACUERDO |
| DE ACUERDO | DE ACUERDO | DE ACUERDO |
| DE ACUERDO | DE ACUERDO | DE ACUERDO |
| 6 | 9 | 9 |
For(i=1,i<=NCol(dt),i++,
Column(dt,i)[NRows(dt)] = Char(N Rows( dt<< get rows where( As Column(dt,i) == "OK")));
)
Estaba usando el código anterior pero parece que no me permite ingresar el valor en una columna bloqueada.
Cuando uso try() simplemente lo ignora y continúa con el script.
Las columnas bloqueadas tienen fórmulas en ellas. ¿Hay otra forma de escribir esto o sobrescribir el error de columna bloqueada? Estoy usando jmp 14
Automatización y scriptingRe: Contar el número de valores o palabras en cada columnaDado que está modificando la estructura de la tabla de datos al agregar un valor de resumen en la parte inferior de la tabla, la forma más sencilla de evitar el problema con las columnas de fórmula es eliminar la fórmula de cada columna. La eliminación de la fórmula no eliminará los valores de las celdas, sino que los convertirá en valores estáticos.
For(i=1,i<=NCol(dt),i++,
try(Column(dt,i)<<DELETE formula=""></DELETE>
<P>La función Try() simplemente evitará cualquier problema al intentar eliminar una fórmula para columnas que no tienen una fórmula.</P>
<P> </P>Re: Contar el número de valores o palabras en cada columnaRecuerde que JMP no es Excel. Todos los valores de una columna seguirán el mismo formato, por lo que no puede tener un total acumulado en la parte inferior de la columna. Para su situación, puede utilizar variables de tabla. Intente configurar esto como un script de tabla:
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
dt << Set Table Variable( (Column( dt, i ) << Get Name) || "OK", N Items( dt << Get Rows Where( Column( dt, i )[Row()] == "OK" ) ) )
);
Será necesario ejecutarlo para estar actualizado, por supuesto, pero mantendrá sus totales visibles.

Re: Contar el número de valores o palabras en cada columnaProbablemente exista una forma más directa de hacerlo, pero creo que esto funcionará. Cree una columna de valores 0,1 donde 1 indica que está bien. Luego, use el Resumen de tabla para dar la cantidad total de 1. Conviértalo en una tabla de datos y luego concatene (después de hacer que los nombres de las columnas coincidan) con la tabla de datos original.