Script para sumar columnas con la misma cadenaEstoy intentando crear una secuencia de comandos para agregar una columna matemática para sumar varias columnas con el mismo sufijo en una tabla de big data. Y estas columnas tienen un carácter especial, por ejemplo,%, [,], etc., que rompió algunas soluciones existentes en el foro.
Por ejemplo,
De las 100 columnas, hay 4 columnas denominadas: Class0 Porcentaje%, Class1 Porcentaje%, Class2 Porcentaje%, Class3 Porcentaje%
Aquí hay un guión que intenté escribir:
dt = Current Data Table();
col_list = dt << get column names( string );
For( i = N Items( col_list ), i > 0, i--,
If( !Contains( col_list[i], "Percent%" ),
Remove From( col_list, i )
)
);
new_formula = "SUM(";
For( i = N Items( col_list ), i > 0, i--,
new_formula = new_formula || "\[:Name( "]\" || col_list[i] || "\["), ]\";
);
new_formula = new_formula || ")";
dt << New Column( "Sum Class",
Numeric,
Continuous,
Formula( Name Expr( new_formula ) )
);
Y la fórmula del resultado es:
"SUM (: Name (\!" Class3 Percent% \! "),: Name (\!" Class2 Percent% \! "),: Name (\!" Class1 Percent% \! "),: Name (\! "Class0 Percent% \!"),) "
¿Cómo puedo deshacerme de la \! ?? ¡Gracias!
Re: Script para sumar columnas con la misma cadena¡Gracias Jim por tu apoyo continuo!
Agregué / cambié lo siguiente en negrita y funciona:
new_formula_final = Parse (new_formula);
dt << Nueva columna ("Clase de suma",
Numérico,
Continuo,
Formato ("Diciembre fijo", 8, 2),
Fórmula (Nombre Expr ( nueva_formula_final ))
)
);
Re: Script para sumar columnas con la misma cadenaSi analiza () la cadena, eliminará las comillas externas
Re: Script para sumar columnas con la misma cadenaTal vez mi pregunta no estaba clara.
El problema es que la fórmula de la columna terminó con toda la cadena como un personaje columna. Pero estoy tratando de crear una fórmula de matemáticas:
SUM (: Nombre ("Class3 Percent%"),: Name ("Class2 Percent%"),: Name ("Class1 Percent%"),: Name ("Class0 Percent%"),)
¿Cómo puedo corregir mi guión para lograr una correcta fórmula matemática? ¡Gracias!
Re: Script para sumar columnas con la misma cadenaUsted no quiere deshacerse de la \! ". \! Es el personaje de JMP excape. Debido a que el código que ha dado es una cadena, las comillas dobles ubicadas dentro de la cadena deben tener el carácter de excape delante de cada comilla doble. Cuando ejecute la cadena, JMP tratará correctamente con el \! "