Fórmula masajes a tabla de datos<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola a todos,
Tengo miles de columnas de fórmulas para crear y eliminar las fórmulas de esas columnas.
Entonces, para acelerar el proceso, agrego fórmula de las siguientes maneras.
dt << Suprimir Fórmula Eval (1);
en bucle (
nueva col (fórmula);
dt << Suprimir Fórmula Eval (0);
dt << Ejecutar fórmulas;
);
Segundo para bucle
for loop (Try (column (dt, Newcolname [ik]) << eliminar fórmula)) ;
¿Hay una manera de enviar el masaje de fórmulas eliminadas a datatable en lugar de a cada columna.
ya que para que el bucle elimine las fórmulas está tomando más de 5 minutos adicionales.
Cualquier trabajo alrededor es altamente apreciado . La supercomputadora no es una opción.
Re: Fórmula masajes a tabla de datosmichael.anderson
Hola Michael, tu idea parece muy interesante para crear fórmulas usando metrices. pero no estoy seguro de cuánto podemos aprovechar en estos métodos.
a continuación se presenta una situación: he organizado mi nuevo nombre de columna y las fórmulas correspondientes como 2 columnas en una hoja de Excel, la columna izquierda es los nuevos nombres de columnas que se agregarán en la tabla y la columna derecha tiene muchas fórmulas complejas.
ahora tengo que agregar este tipo de 100 o 1000 fórmulas usando for loop (hasta ahora lo sé). por lo que el bucle FOR no sabe qué es constante y cuál es el nombre de la columna. así que uso namexpr para lograr esto: column (dttable, Newcolname [ij]) << set Formula (nameexpr (newcol1))
así que mi pregunta sería, ¿hay una forma similar (usando expr) de hacer lo mismo con las matrices sin obtener valores de columna en una matriz << GetAsMatrix?
newcol1 = 34 * col1 / 54 * col2-col3 / 2
newcol2 = col1 / 54 * col2-col3 / 2
newcol3 = 36 + col1 / 54 * col2-col3 / 2
newcol4 = 37 * 1e6 * col1 / 54 * col2-col3 / 2
Gracias, RAM
Re: Fórmula masajes a tabla de datosGracias MS. Su enfoque de crear una nueva tabla a través de concatenar es fabuloso. mantiene todas las variables de la tabla y el orden de las filas, pero sin fórmulas. me ayudó a eliminar la gran cantidad de tiempo extra que se usó para eliminar fórmulas.
Gracias por gran sugerencia. Fórmula masajes a tabla de datos
Re: Fórmula masajes a tabla de datosEntendido... todo lo que pide es posible trabajar con los datos como una matriz ... Lo que propongo es que obtenga los datos como una matriz, haga esos cálculos y luego escriba los resultados en una tabla de datos. Luego puede agregar los límites de especificación, unidades, etc. como estaba haciendo, pero elimina la necesidad de agregar y luego eliminar las fórmulas de la tabla de datos. En general, de donde viene su desaceleración es la modificación de la propia tabla de datos, que es (creo) básicamente reconstruida cada vez que cambia la fórmula.
Si realmente desea mantenerlo todo en la tabla de datos, entonces establecer la fórmula de columna en Vacío () puede ser más rápido que eliminarlo ... pero tendrías que probarlo para estar seguro.
Mejor,
METRO
Re: Fórmula masajes a tabla de datosÉl,
Estoy seguro de que la métrica es mucho más rápida en lugar de usar tablas de datos. pero necesito datos en la tabla porque necesito usar un filtro de datos local para identificar mejoras muy pequeñas dentro de las divisiones.
Aquí están los pasos involucrados.
1. fórmula necesaria para normalizar los parámetros eléctricos en bruto en W y L, por ejemplo, Ion * W / * Wa.
2. los límites de especificaciones se adjuntan junto con la conversión de datos a unidades apropiadas como pA, uA, nA, mV, mW al multiplicar con el factor apropiado.
3. El paso 2 también se aplica en algunos de los parámetros en bruto que se necesitan. aquí es donde es necesario eliminar la fórmula, para que las nuevas columnas se puedan convertir de manera interdependiente.
Nota:
1. no podemos fusionar la fórmula y el archivo de límite de especificación, ya que el límite de especificación sigue actualizándose. por lo que debe mantenerlo separado.
2. La conversión de unidades de fusión tampoco es una opción.
RAM
Re: Fórmula masajes a tabla de datosram.asra@gmail.com
¡Hola! Tal vez retroceder un paso y descubrir por qué se necesitan las mil columnas con fórmulas podría ser un mejor punto de partida.
Sé que calcular valores dentro de la memoria como una matriz es mucho más rápido que hacerlo con tablas de datos. Esto también omitiría la necesidad de columnas en primer lugar. En realidad, hubo una discusión bastante saludable en torno a este punto en Discovery este año, con la práctica recomendada de evitar el uso de fórmulas de columna en los scripts siempre que sea posible.
¿Puedes ayudarnos a entender un poco más el caso de uso?
Mejor,
METRO
Re: Fórmula masajes a tabla de datosUna solución alternativa que se me ocurre es utilizar la fórmula para eliminar el poder de Concatenate (). El siguiente código crea una copia de la tabla de datos, incluidas las variables de la tabla o los scripts, pero sin fórmulas.
dt = Tabla de datos actual () ; // Tabla con fórmulas para borrar
new_dt = dt << Concatenar ( dt_temp = Nueva mesa ( "temperatura" , Nueva Columna ( "borrame" ))) ;
new_dt << eliminar columna ( "borrame" ) ;
Cerrar ( dt_temp , nosave ) ;