¿Cómo escribir una fórmula que cuente el número de filas que no están excluidas?Estoy intentando escribir una fórmula simple que cuente la cantidad de filas en mi tabla de datos que no están excluidas. Quiero que el total se actualice a medida que cambio los estados de las filas mediante el generador de gráficos. En otra parte de la fórmula, pude usar con éxito la función Excluded(), por ejemplo
X = Col Suma( :MG1_2520_LH_Setting, Excluido() );
Sin embargo, estoy usando N Rows() para contar el número total de filas y no puedo ver cómo modificar esta función para contar solo el número de filas no excluidas.
Automatización y scriptingRe: ¿Cómo escribir una fórmula que cuente el número de filas que no están excluidas?Hola,
Tengo una solución fea pero utilizable: crear una columna ficticia rellenada con el valor = 1 y luego usar la fórmula como mostraste en JSL:
Col Sum(:Dummy, Excluded())
Probablemente exista una solución mucho más elegante, por lo que quizá quieras esperar para aceptarla.
Mejor,
TS
Re: ¿Cómo escribir una fórmula que cuente el número de filas que no están excluidas?No puedes usar Col sum en código JSL "simple" para asignar el resultado a una variable.
Es una función de agregación interesante que se puede utilizar en fórmulas de columna .
Col Sum suma las entradas individuales de una columna y, como indica @Thierry_S , se necesita una columna con unos para contar las filas. Pero, en realidad, no se necesita una columna real; en lugar de una columna, también se puede especificar "1".
Si solo desea contar las filas que NO están excluidas, utilice:
New Column( "non excluded",Formula( Col Number( If( !Excluded(), 1 ) ) ))
La sintaxis complicada es necesaria porque, de forma predeterminada, la agregación Col... no respeta el estado excluido: utiliza todos los valores de la columna y, por lo tanto, cuenta todas las filas.
Re: ¿Cómo escribir una fórmula que cuente el número de filas que no están excluidas?Hay otros enfoques en JMP que tienen en cuenta automáticamente qué filas están excluidas y cuáles no.
Si no necesita una nueva columna sino solo un único valor, puede utilizar una tabla de resumen con una columna de transformación:
Summary( N( Transform Column( "one", Formula( !Excluded() ) ) ));
Si necesita el valor para procesarlo más a través de JSL, Summarize ofrece una alternativa sencilla:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Rows( 5::12 ) <<EXCLUDE></EXCLUDE>
Re: ¿Cómo escribir una fórmula que cuente el número de filas que no están excluidas?Pude usar el código que se muestra a continuación para lograr lo que necesitaba. Las otras soluciones también funcionaron, pero esta fue la más fácil de implementar para mí. ¡Gracias!
Col Number( If( !Excluded(), 1 ) )