☑ nueva característica interesante
☑ ¡podría ayudar a muchos usuarios!
☑ elimina algo que parece un "error"
☐ Es bueno tenerlo
☐ nadie lo necesita
¿Qué inspiró esta solicitud de lista de deseos?
Cuando un usuario cambia el nombre de una columna, los scripts de tabla se actualizan automáticamente.
Cuando un usuario elimina una columna que se utiliza en un script de tabla, JMP advierte al usuario si la columna se utiliza en fórmulas de columna.
Pero un script de tabla morirá sin previo aviso.
a) el usuario tarda mucho tiempo en descubrir por qué el script de tabla está inactivo.
b) se necesita algo de esfuerzo para crear la columna nuevamente (en el peor de los casos: no es posible crear la columna nuevamente)
¿Cuál es la mejora que le gustaría ver?
Antes de eliminar una columna, verifique si la columna se utiliza en un script de tabla y muestre una advertencia.
Names Default To Here( 1 );
Current Data Table() << copy table script( "no data" );
tableScript = Eval( Eval Expr( Parse( Expr( Get Clipboard() ) ) ) );
col_names = Current Data Table() << Get Selected Columns();
tableScriptList = Substitute( Name Expr( tableScript ), Expr( New Table() ), Expr( List() ) );
tableScriptList = Filter Each( {part}, tableScriptList, Head( Part ) == Expr( New Script() ) );
found = 0;
For Each( {col}, col_names,
For Each( {myScript}, tableScriptList,
If( Not( Is Empty( Eval( Eval Expr( Extract Expr( myScript, Expr( Name Expr( col ) ) ) ) ) ) ),
Caption( {100, 200}, "column \!"" || (col << get name()) || "\!" found in script: \!n" || Arg( myScript, 1 ) );
found = 1;
print("found!!!");
Wait( 1 );
)
)
);
If( Not( found ),
Caption( {100, 200}, "no column found.\!N ->cols can be deleted" );
Wait( 1 );
);
Caption( remove )
¿Por qué es importante esta idea?
Imagínese cuántos usuarios de JMP mataron un script de tabla al eliminar "accidentalmente" una columna.
Cambiar al "modo seguro" evitará que muchos usuarios sufran el mismo problema.
Otros deseos de