¿Existe una manera fácil de crear una variable de recuento?Quiero crear una nueva variable de recuento usando ID de variables y use_yn (datos adjuntos). Si la variable use_yn para una ID específica, representa que el sujeto usó el servicio (por ejemplo, el sujeto 3 usó el servicio dos veces porque tiene el valor 1 dos veces). ¿Se puede hacer esto sin JSL?
Re: ¿Existe una manera fácil de crear una variable de conteo?Sólo una votación rápida a favor de una fórmula muy simple.
Col Number( :ID, :ID, :use_yn )
Esta fórmula de columna devuelve el número de veces que :ID y :use_yn son iguales.
Re: ¿Existe una manera fácil de crear una variable de conteo?@txnelson Muchas gracias por responder. Esto fue muy fácil y funcionó para mí. Aprecio tu ayuda.
Re: ¿Existe una manera fácil de crear una variable de conteo?Hola @billi
He integrado ambas soluciones desde el enlace de la tabla de datos adjunta.
el primero usa la columna IDIndex con la siguiente fórmula: If( :ID != Lag( :ID, 1 ) | Row() == 1, 1, Lag(:IDIndex, 1 ) + 1
)
y la columna final IDCount con la fórmula: Col Maximum(:IDIndex, :ID)
la segunda opción también será válida en caso de que los datos no estén ordenados correctamente. utiliza la columna IDIndex2 con la fórmula: Suma( :ID[Index( 1, Row() )] == :ID )
y la columna IDCount2 con la fórmula: Col Máximo(:IDIndex2, :ID)
por favor háganos saber qué funciona mejor para usted.
ron
Re: ¿Existe una manera fácil de crear una variable de conteo?La plataforma de resumen le ofrece lo que desea.Luego algunas manipulaciones simples y una actualización y tendrás tu respuesta.
Tablas==>Resumen
Seleccione ID y use_yn como variables de agrupación.
Asegúrese de anular la selección de "Vincular a la tabla de datos original:" y luego haga clic en Aceptar.
La nueva tabla de datos tiene todas las combinaciones de ID y use_yn, y solo desea que use_yn = 1, por lo tanto, haga clic en una celda que tenga use_yn con el valor de 1. Luego haga clic derecho y seleccione
Seleccionar celdas coincidentes
Todas las filas con use_yn están seleccionadas... pero lo que quieres es la selección opuesta, por lo que puedes eliminarlas.
Mueva el cursor a una de las filas seleccionadas y luego a la columna RowState de esa fila.Haga clic derecho y seleccione Invertir selección.Ahora simplemente vaya a una de las filas recién seleccionadas, haga clic derecho y seleccione Eliminar filas.Ahora tiene los recuentos que solicitó.
Para volver a mover los datos a la tabla de datos original, simplemente seleccione la tabla original y vaya a
Tablas==>Actualizar
En la ventana de diálogo, seleccione su tabla de resumen como la que desea actualizar.
Seleccione Coincidir columnas, seleccione ID y use_yn como celdas coincidentes y haga clic en Aceptar.La columna N filas es tu recuento
Re: ¿Existe una manera fácil de crear una variable de conteo?Hay varias técnicas útiles en el enlace que proporcionó Ron, pero sería necesario hacer algunas modificaciones.
Aquí hay una fórmula de columna (almacenada en una columna llamada "Nuevo recuento") que creé y que realiza el recuento. Tenga en cuenta que la fórmula se llama a sí misma.
If(
Row() == 1, :use_yn[1],
:ID[Row()] == :ID[Row() - 1], :New Count[Row() - 1] + :use_yn[Row()],
:ID[Row()] != :ID[Row() - 1], :use_yn[Row()],
0
)
También adjunto la tabla de datos. Tenga en cuenta que si le falta un valor en "use_yn", el "Nuevo recuento" desaparecerá. Esto tiene sentido porque si no sabes si alguien "usó yn", tampoco sabrás el recuento.
Re: ¿Existe una manera fácil de crear una variable de conteo?@ron_horne Gracias por la pronta respuesta. Yo usé esta fórmula Sum( :ID[Index( 1, Row() )] == :ID ) pero no obtuve los resultados. Se adjunta la tabla de datos donde utilicé la fórmula.
Re: ¿Existe una manera fácil de crear una variable de conteo?Hola @billi ,
eche un vistazo a esta discusión. tiene algunas opciones
https://community.jmp.com/t5/Discussions/Syntax-How-do-I-create-an-index-column-by-ID/mp/9751/highlight/true#M9537
Permítanos saber si funciona
ron