Re: ayuda a crear una columna que es una suma acumulativa basada en otras columnas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola Un portero ,
hasta que a alguien más inteligente se le ocurra un revestimiento, puede probar mi solución de plomería:
Nombres predeterminados hasta aquí ( 1 ) ;
dt = Abierto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
dt << Nueva columna ( "Fila" , fórmula ( : Fila () ) , fórmula eval ) ;
dt : fila << eliminar fórmula ;
// asumiendo que la edad es tiempo y el sexo es el sitio
dt << Ordenar ( Por ( : sexo , : años ) , Orden ( Ascendente , Ascendente ) , reemplazar la mesa ) ;
// ahora suma como quieras
dt << Nueva columna ( "sumhightbysex" ,
fórmula ( Si ( Fila () == 1 , : altura , : sexo == Retraso ( : sexo , 1 ) , : altura + Retraso ( : altura , 1 ) , : sexo ! = Retraso ( : sexo , 1 ) , : altura , Vacío () ) ) , fórmula eval
) ;
dt : sumhightbysex << eliminar fórmula ;
// ordenar por orden original
dt << Ordenar ( Por ( : Fila ) , Orden ( Ascendente ) , reemplazar la mesa ) ;
// limpiar
dt << eliminar columna ( fila ) ;
Hablar ( "Bob es tu tio" ) ;
Re: ayuda a crear una columna que es una suma acumulativa basada en otras columnas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola ron
Esta es una gran solución, gracias por publicar.
La fórmula para la nueva columna sumheightbysex tiene un ligero error tipográfico. Debería ser
If (Row () == 1,: height,: sex == Lag (: sex, 1),: height + Lag (: sumhightbysex, 1),: sex! = Lag (: sex, 1),: height, Vacío())
usando el valor en la nueva columna para agregar a la altura, y no la altura de la fila anterior,: altura + Retardo (: altura), 1).
G'day
Re: ayuda a crear una columna que es una suma acumulativa basada en otras columnas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Si está ejecutando JMP versión 12, si hace clic derecho en el campo de encabezado de columna en la tabla de datos, la Nueva columna de fórmula -> Fila -> Acumulativo debería funcionar sin tener que recurrir a JSL. Vea abajo:

Re: ayuda a crear una columna que es una suma acumulativa basada en otras columnas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Me alegra que lo encuentres útil,
Quizás el oneliner puede basarse en esto:
Re: Sintaxis: ¿Cómo creo una columna de índice por ID?
también lo haría independiente de la clasificación y mantendría una fórmula activa.
pero no estoy seguro de cómo abordarlo.
Mejor
Ayuda a crear una columna que es una suma acumulativa basada en otras columnasEstoy tratando de crear una nueva columna en JSL que será una suma continua de las filas anteriores en esa columna. Tengo una columna llamada "Flujo diario total" También tengo una columna que marca de qué ubicación provienen los datos del "flujo diario total (llame a ese" Sitio "). por ejemplo, digamos el 1 de octubre (que se especifica en otra columna llamada "día del año del agua") tengo un flujo diario total de 1000, y este día es el día 1 del año. Quiero una columna cuya primera fila será = 1000. luego diga en el día dos, que será la segunda fila de la tabla, el 2 de octubre, hay un flujo diario total de 5000, me gustaría que la nueva fila en la nueva columna sea 1000 + 5000 = 6000. luego digamos que el 3 de octubre tiene un flujo diario de 3000, por lo que la siguiente fila será 6000 + 3000 = 9000. Esto continuará para cada fila de mi tabla que comparta el mismo nombre de ubicación (Sitio) y esté en el mismo "año" especificado por la columna "día del año de agua" (1-365).