Hola comunidad JMP,
Tener una serie de columnas con enteros, que van de 0 a 100. La columna siempre comienza con un 0 y luego comienza a aumentar desde un cierto número de fila. ¿Cómo puedo eliminar las filas con todos los 0, luego subir las celdas que no son cero? También necesito aplicar eso para todas las columnas en la misma hoja.
Ejemplo ('.' Significa celda vacía) datos iniciales:
Col-1 Col-2 Col-3
Fila-1 0 0 0
Fila-2 0 0 0
Fila-3 0 0 0
Fila-4 1 0 1
Fila-5 3 1 2
Fila-6 8 4 7
Resultado final después de la manipulación:
Col-1 Col-2 Col-3
Fila-1 1 1 1
Fila-2 3 4 2
Fila-3 8. 7 7
Fila 4. . .
Fila 5. . .
Fila 6. . .
¡Muchas gracias!
Steve
Aquí hay un script de muestra que mueve los valores hacia arriba para cada columna independiente. Los datos de ejemplo utilizados son los datos que proporcionó.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "Col 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 1, 2, 3] )
),
New Column( "Col 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 0, 1, 4] )
),
New Column( "Col 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 1, 2, 7] )
),
Set Row States( [1, 1, 1, 1, 1, 1] )
);
colNames = dt << get column names( numeric, string );
For( i = 1, i <= N Items( colNames ), i++,
theMatrix = Column( colNames[i] ) << get values;
Column( colNames[i] )[Index( 1, N Rows( dt ) )] = .;
Column( colNames[i] ) << set values( theMatrix[Loc( theMatrix )] );
);