¿Cómo SUMAR filas con nombres de columnas variables?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una tabla con un número variable de columnas.Quiero agregar una columna que SUME todas las columnas en una fila, sin importar cuántas / pocas aparezcan.
Intenté esto:
TotRow = Trans << Obtener nombres de columnas ( Numérico ) ;
TR = N elementos ( TotRow ) ;
Trans << Nueva columna ( "Tiempo Total" ,
Numérico ) ;
Por cada fila ( : Tiempo Total [] = Suma ( Columna ( TotRow [ 1 :: TR ])[])) ;
Pero solo SUMA la primera fila y no el resto.El número de columnas y filas es siempre variable semana a semana.
Re: ¿Cómo SUMAR filas con nombres de columnas variables?jeff,
Gracias por la respuesta, y sobre todo por el enlace.Cualquier día que aprendo algo nuevo es un buen día.
Re: ¿Cómo SUMAR filas con nombres de columnas variables?Eso es operador de transposición de matriz . Es un operador de sufijo, por lo que funciona en el argumento a su izquierda.
Como Ian@JMP dicho, dado que JMP no tiene un HSum(), debe usar VSum() en la matriz transpuesta y luego transponerla nuevamente.
-Jeff
Re: ¿Cómo SUMAR filas con nombres de columnas variables?ian,
Es genial tener la respuesta, es mejor entender la respuesta.
En esta declaración:
sumVec = ( VSuma ( estera ` )) `;
¿Para qué sirven los `?Entiendo la declaración VSum, pero no por qué se necesita ` en ambos lados.
Re: ¿Cómo SUMAR filas con nombres de columnas variables?ian,
¡Gracias funcionó perfectamente!
Re: ¿Cómo SUMAR filas con nombres de columnas variables?Si desea sumar todas las columnas numéricas y no necesita una columna de fórmula, puede hacerlo:
Nombres predeterminados a aquí ( 1 ) ;
// Hacer una tabla para trabajar
no. = 10 ;
Carolina del Norte = 3 ;
dt = NuevaTabla ( "Algunos datos continuos" ) ;
Para ( C = 1 , C <= Carolina del Norte , C ++,
dt << NuevaColumna ( "columna" || Carbonizarse ( C ) , Numérico , Continuo , Fórmula ( Entero aleatorio ( 1 , 10 ))) ;
) ;
dt << Agregar filas ( no. ) ;
// Obtener los datos en una matriz
estera = dt << Obtener como matriz ;
// Obtener la suma de cada fila
sumVec = ( VSuma ( estera ` )) `;
// Agregar la columna de suma
dt << NuevaColumna ( "Suma" , Numérico , Continuo , Valores ( sumVec )) ;
Tenga en cuenta que JSL no tiene un 'HSum()', por lo que debe transponer y luego volver a transponer.