Re: realizar cálculos usando columnas seleccionadasAquí está, usando JSL,
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Calc",
formula(
cols = dt << get selected columns;
mat = [];
For( i = 1, i <= N Items( cols ), i++,
mat = mat || Column( cols[i] )[Row()]
);
mat = Sqrt( Sum( mat ^ 4 ) );
)
);
dt:calc << delete formula;
cómo crearía una columna de fórmula para manejar su problema
Re: realizar cálculos usando columnas seleccionadasGracias Jim! Tu guión es muy útil como siempre. Para ayudarme a comprender mejor JSL, ¿puede explicar qué hace esta línea de código?
mat = mat || Column( cols[i] )[Row()]
Re: realizar cálculos usando columnas seleccionadasElegí el método a utilizar, basado en las excelentes capacidades que los operadores de Matrix tienen en JSL. La declaración
mat = Sqrt( Sum( mat ^ 4 ) );
es una ilustración de cuán agradables y concisos se pueden hacer los cálculos usando matrices.
Pero para usar operadores de matriz, los datos deben estar en una matriz. Entonces, para cada fila, la matriz Mat se establece primero como una matriz vacía
mat = [];
y luego el bucle For () toma cada una de las columnas especificadas en << Obtener columnas seleccionadas y agrega el valor para esa columna para la fila dada, a la matriz "Mat" como un nuevo elemento en la matriz. Es "Concatenar" el valor de la columna para la fila actual a la matriz.
mat = mat || Column( cols[i] )[Row()]
realizar cálculos usando columnas seleccionadasHola,
Estoy luchando por encontrar una buena solución de secuencias de comandos para esto. Me gustaría seleccionar algunas columnas y luego realizar cálculos a través de ellas. Las columnas seleccionadas son flexibles, a veces podrían ser 2 pero a veces podrían ser más de 10 columnas para realizar este cálculo.
Por ejemplo
ABC nueva columna con fórmula sqrt (suma (A ^ 4, B ^ 4, C ^ 4) 1 2 3 ... 4 5 6 ... 7 8 9 ...
En este momento, tengo el script para extraer la columna seleccionada. Pero una vez que están en una lista con el nombre de la columna, no sé cómo resumir la columna usando la fórmula que tengo arriba ...
dt = tabla de datos actual (); cols = dt << obtener columnas seleccionadas;¡Muchas gracias por tu ayuda!