¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Por ejemplo, agregue una columna de "prueba" con "Big Class.jmp" y escriba una fórmula aleatoria. ¿Cómo se utiliza JSL para guardar el texto de la fórmula extraída de la fórmula en esta columna en una celda de otra columna?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "test" );
Column( "test" ) << Formula( If( age > 15, height + 50 + weight, height + 100 + weight ) );
dt << run formulas;
New Column( "txt", Character, "Nominal" );

Automatización y secuencias de comandosOrganización de contenidosCombinación y limpieza de datosCompartir y comunicar resultadosRe: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Dado que no faltan valores en los datos reales, se pueden eliminar todas las siguientes formas de código.
!Is Missing(:abc) &
Is Missing(:abb) |
¿Cómo debería codificarse esto en JSL? ¡Gracias expertos!
Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Todavía no estoy familiarizado con el uso de JSL para el procesamiento regular.
Nuevamente, esto se hace con EmEditor.
document.selection.Replace("([a-Z]) ([a-Z])","\\1zzzz\\2",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace(" ","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("zzzz"," ",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("Is Missing\\(:(.[^)]{0,})\\)\\|","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("!Is Missing\\(:(.[^)]{0,})\\)&","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Sí, mi uso es entrenar el patrón una vez, obtener la fórmula de predicción y guardar la fórmula directamente en forma de texto en la celda.
Cuando se utilice para análisis de datos nuevos, utilice el siguiente formulario directamente para calcular los datos nuevos utilizando la fórmula de predicción original.
aaa = dt[1, "txt"];
Current Data Table( d2 );
Eval( Parse( "Column(d2,\!"test\!")<<FORMULA></FORMULA>
¡Gracias!
Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Depende de cuál sea la intención final aquí, pero podría ser más sencillo conservar la fórmula en la celda de un columna de expresión .
Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?La fórmula de predicción derivada del entrenamiento xGBoost es demasiado compleja.
Cómo aplicar esta fórmula de predicción a datos nuevos es realmente complicado.
Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?hecho con una expresión regular

Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Consulte << obtener fórmula para recuperar la fórmula.
Consulte Word() para recuperar los elementos delimitados en blanco y crear una versión "eliminada en blanco" de la fórmula o puede hacerlo con una expresión regular.
Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Puede obtener la fórmula con << Obtener fórmula, luego cambiarla a carácter y realizar las modificaciones necesarias.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("test", Formula(If(:age > 15, :height + 50 + :weight, :height + 100 + :weight)));
dt << New Column("txt", Character, "Nominal", << Set Each Value(
Substitute(Char(AsColumn(:test) << get formula), " ", "")
));Re: ¿Cómo utilizar JSL para extraer texto de fórmula de una columna y guardarlo en una celda?Y quiero usar JSL para lograr la fórmula para eliminar el carácter de nueva línea, pero también para eliminar el espacio redundante. Simplifica el contenido del texto de la fórmula almacenado en la celda.
dt[1,"texto"]=
If(:age>15,:height+50+:weight,:height+100+:weight)
¡Gracias expertos!