Re: Sintaxis For Each()La documentación de For Each en Scripting Index cubre esto un poco. Ejemplo para Across da la mejor idea para la sintaxis

Names Default To Here(1);
// Across multiple containers
x = {"a", "b"};
y = {"d", "c"};
For Each({{a, b}, index}, Across(x, y), Show(a||b, index));Re: Sintaxis For Each()He jugado con la sintaxis como en el índice de secuencias de comandos, pero el mismo error sigue siendo cierto. Esto debe significar que hay algo que no entiendo con mi configuración particular. Necesito probar algunas cosas más y publicaré aquí mis hallazgos y/o preguntas adicionales.Gracias, @jthi !
Re: Sintaxis For Each()Creo que esta es otra pieza del rompecabezas:
El formato Across() para múltiples contenedores está en uso.Con la cantidad de valores que tengo, tiene sentido, pero esto también requiere Across().Actualmente, estoy guardando una tabla de datos en una matriz con
matrix1 = dt1 << Get as Matrix();
¿Cómo se completa correctamente Across() para trabajar con eso o con una tabla de datos correctamente, ya que la cantidad de elementos en Across() debe ser igual a la cantidad de contenedores (valores) en las llaves?
Re: Sintaxis For Each()¿Qué estás tratando de hacer en realidad?¿O SOLO estás tratando de entender la sintaxis?
Re: Sintaxis For Each()tengo 3 mesas:
- dt1: valores medidos y fórmulas de predicción
- dt2: valores objetivo (actualmente guardados como matriz):
matrix1 = dt2 << Get as Matrix();
- dt3: tabla para registrar los coeficientes de la fórmula de regresión de la herramienta Profiler (Predicción)
Lo que espero hacer es usar For Each() para iterar a través de dt2, usar la fórmula de predicción correspondiente en dt1 y luego registrar los coeficientes correspondientes que genera el generador de perfiles (de predicción). Estoy seguro de que puedo hacer esto con un bucle For() estándar, pero me dijeron que For Each() sería una mejor opción.
Re: Sintaxis For Each()¿Es esto solo para obtener valores absolutos de la predicción?Estoy confundido lo siento.
Names default to here( 1 );
dt1 = open("$SAMPLE_DATA\Big Class.jmp");
fm = dt1 << Fit Model(
Y( :height, :weight ),
Effects( :age, :sex, :age * :sex ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:height << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )},
:weight << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
)
);
fm << Prediction Formula; //
dt2 = new table("Targets",
<<NEW column=""></NEW>Re: Sintaxis For Each()@vince_faller , ¡está todo bien! Una vez que se genera una fórmula de predicción a partir de un conjunto de datos (dentro de dt1), quiero usar la solución ideal (dentro de dt2) y trabajar hacia atrás para obtener los coeficientes necesarios para obtener este valor ideal (guardado en dt3). El generador de perfiles de predicción muestra los coeficientes de los valores necesarios para hacer esto, por lo que tendría que tomar los valores de los cuadros.
Tengo una prueba usando el bucle For() mientras hablamos, en segundo plano.Si funciona, puedo descartar el uso completo de For Each() para este proyecto.Aunque, ahora que estoy encontrando problemas, me alienta aún más entender por qué.
Re: Sintaxis For Each()Hay una estructura diferente para los argumentos si está tratando de recorrer matrices. Si observa el pequeño menú desplegable en el índice de secuencias de comandos, hay ejemplos de las diferentes configuraciones que puede tomar el bucle For Each().

Mejor,
METRO
Re: Sintaxis For Each()Gracias, @MikeD_Anderson .Ya pasé más de un día revisando cada una de estas opciones, pero el error que mencioné en la publicación original es lo que me bloquea.
Re: Sintaxis For Each()Creo que la pieza que te falta en los ejemplos es que los valores que deseas obtener deben tener la forma de un solo valor o una lista. Asi que Para cada( { val1, val2, ..., valn, índice}, ...) no funcionaría porque hay demasiadas cosas en la lista de argumentos. Pero Para each( { {val1, val2, ..., valn}, index}, ...) podría funcionar mejor. Eso también está en línea con el ejemplo de que @jthi proporcionada anteriormente.
METRO
Re: Sintaxis For Each()Hola,
Ya investigué las llaves dobles, pero me encuentro con el error "demasiados argumentos" como en mi publicación original.Creo esto porque no he especificado el número correcto de contenedores en Across(). No sé cómo completar correctamente Across().
En este momento, mi alternativa de bucle For() se está desarrollando muy bien y debería reemplazar la necesidad de la función For Each(). Sin embargo, todavía me gustaría aprender a usarlo correctamente, pero tal vez reviva este hilo en otro momento. Mi enfoque es necesario en otra parte por un tiempo.
¡Gracias a todos por el debate!
Para la sintaxis de cada ()Hola,
Estoy buscando expandir la cantidad de valores que se pueden usar en la función For Each().En el índice de secuencias de comandos y un puñado de ejemplos que he encontrado dentro de la comunidad JMP y JMP en sí, combinados, solo he visto un único valor e índice utilizado: para cada uno ({val1, index}, ...). Me gustaría usar: For each( { val1, val2, ..., valn, index}, ...) . Cuando aumento el número de valores entre llaves, aparece un error de "demasiados argumentos".
Curiosamente, este mensaje de error indica que el número de fila del error corresponde al número total de filas en la matriz que se pasa a la función For each(), no al número de fila real de esa función en el script. Puedo confirmar que es la cantidad de valores que estoy tratando de usar, y no la cantidad de filas en la matriz que estoy pasando a la función, cambiando la cantidad de valores a val1 & index solamente, que luego funciona.
La matriz que se pasa tiene el mismo número de columnas que el número de valores que quiero pasar a la función For Each().
¿Algun consejo? es posible?
Automatización y secuencias de comandosIngeniería de Calidad y Procesosventanas