¿Cómo se puede calcular el resultado de la fórmula con múltiples columnas directamente del cálculo de una matriz en la memoria?Los requisitos para el cálculo con los datos de "Big Class.jmp" y fórmula son los siguientes:
Agregue la columna "fila6" y encuentre la altura mínima desde la fila 10 y hasta 6 filas;
Agregue la columna "fila7" y encuentre el valor mínimo de la columna de altura a partir de la fila 10 y hasta 7 filas;
...
¿Cómo encontrar el resultado de "row6" - "row9" directamente usando el método de matriz de memoria?
¡Gracias!
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<NEW column="">9,min(height[Index(Row()-6,Row())])));dt<<RUN formulas="">9,min(height[Index(Row()-7,Row())])));dt<<RUN formulas="">9,min(height[Index(Row()-8,Row())])));dt<<RUN formulas="">9,min(height[Index(Row()-9,Row())])));dt<<RUN formulas=""></RUN></RUN></RUN></RUN></NEW>
ScriptingRe: ¿Cómo se puede obtener el resultado de la fórmula calculada con múltiples columnas directamente del cálculo de una matriz en la memoria?Si entiendo correctamente, ¿desea obtener resultados para la fila6 a la fila9 directamente en las matrices sin usar fórmulas?
A continuación se muestra un ejemplo para la fila6 usando Para cada fila con lista y el mismo cálculo que tiene la Fórmula para la columna fila6.
Names Default To Here(1);
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<NEW column="">9,
min(height[Index(Row()-6,Row())])
)
);
);
dt<<RUN formulas="">9,
min(:height[Index(Row()-6,Row())])
)
)
);
show(row6_list);
dt << new column("row6_l", << set values(row6_list));</RUN></NEW>
Re: ¿Cómo se puede obtener el resultado de la fórmula calculada con múltiples columnas directamente del cálculo de una matriz en la memoria?Names Default To Here( 1 );
dt = current data table();
theHeight = dt:height << get values;
row6=shape([.],40);
row7=shape([.],40);
row8=shape([.],40);
row9=shape([.],40);
row10=shape([.],40);
For(i=11,i<=N Rows(theHeight),i++,
row6[i]=Min(theHeight[i-6::i]);
row7[i]=Min(theHeight[i-7::i]);
row8[i]=Min(theHeight[i-8::i]);
row9[i]=Min(theHeight[i-9::i]);
row10[i]=Min(theHeight[i-10::i]);
);
Debe leer la Guía de secuencias de comandos para que pueda comenzar a resolver estos problemas usted mismo.
Re: ¿Cómo se puede obtener el resultado de la fórmula calculada con múltiples columnas directamente del cálculo de una matriz en la memoria?¡Gracias Jim!
Parece que este método no es la operación de matriz de memoria completa.
Re: ¿Cómo se puede obtener el resultado de la fórmula calculada con múltiples columnas directamente del cálculo de una matriz en la memoria?Mi cálculo real es:
1. Calcule el valor mínimo de acuerdo con los requisitos anteriores.
2. Calcule el valor máximo según el mismo principio.
3. Ponga el valor máximo / mínimo de las categorías 6, 7, 8 y 9 respectivamente.
4. Seleccione el valor mínimo de las cuatro proporciones
Esto genera la relación mínima de cada fila con respecto a la tabla. No se generan otros datos intermedios.

Escribí el código en el VBA de Excel.
Sub vba()
ar = Range("d2:d" & Cells(Rows.Count, "d").End(3).Row)
ReDim br(1 To UBound(ar), 1 To 8): ReDim cr(1 To UBound(ar), 1 To 1)
For r = 10 To UBound(ar)
n = 99: m = 0
For c = 0 To 8
If ar(r - c, 1) < n Then n = ar(r - c, 1)
If ar(r - c, 1) > m Then m = ar(r - c, 1)
If c > 4 Then br(r, c - 4) = n: br(r, c) = m
Next
Next
Cells(2, "G").Resize(UBound(br), UBound(br, 2)) = br
For r = 10 To UBound(ar)
For c = 1 To 4
If c = 1 Then
cr(r, 1) = br(r, c + 4) / br(r, c)
Else
If br(r, c + 4) / br(r, c) < cr(r, 1) Then cr(r, 1) = br(r, c + 4) / br(r, c)
End If
Next
Next
Cells(2, "f").Resize(UBound(br), 1) = cr
End Sub
¿Cómo cambio este VBA a JSL?
¡Gracias!
Re: ¿Cómo se puede obtener el resultado de la fórmula calculada con múltiples columnas directamente del cálculo de una matriz en la memoria?Como mi capacidad de lectura en inglés es limitada, solo puedo usar ejemplos listos para usar como referencia.
La respuesta se encuentra en este ejemplo.Reemplazo de valores de matriz
¡Gracias Expertos!