Aquí hay una forma de hacerlo
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
dt << select where( col number(:height, :age) == 7);
dt7 = dt << subset( selected rows(1), selected columns(0));La función Col Number () calcula el recuento de la columna especificada
col number(:height )
Cuenta el número de filas para la columna: Altura que son valores que no faltan, por lo que en el ejemplo con la tabla de datos Big Class, devolverá el valor de 40.
La función Col Number () puede tener más de un valor pasado. El primer valor es la columna para contar el número de valores que no faltan, y la segunda a la n columnas adicionales, son columnas "Por grupo".
col number(:Height, :age )
La llamada a la función anterior, calcula el recuento de los valores no faltantes de: Altura para el valor actual de las filas de: edad. Entonces, para la fila 1 en la tabla de datos, la función solo contará los valores no faltantes de: Altura para las filas con: Valor de edad de 12. Devolverá el valor 8. Cuando se trata de la fila 9, el valor de edad es 13, y el número de valores no faltantes de: Altura para las filas con el valor de Edad de 13 es 7.
Pero, ¿por qué estamos contando el número de valores no faltantes de: Altura? Por ninguna otra razón que no tengamos valores faltantes y, por lo tanto, devolverá un recuento adecuado. De hecho, podríamos usar cualquiera de las columnas numéricas, ya que no hay valores no faltantes para ninguna de las columnas numéricas.
Inicialmente, iba a especificar la llamada a la función de esta manera
col number(:age, :age )
pero lo cambié a: Altura, ya que pensé que usar: Edad dos veces sería confuso
Gracias Jim!
dt << select where( Col Number( :height, :age ) == 7 );
dt << select where( Col Number( :weight, :age ) == 7 );
El efecto es el mismo b ut esta modificación no funciona:
dt << select where( Col Number( :age ) == 7 );
No entiendo el principio.
Por ejemplo, use A para filtrar el número de filas cuya edad es igual a 7.
dt = Abrir ("$ SAMPLE_DATA / Big Class.jmp");