<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy usando JSL para apilar algunos datos. Las columnas tienen propiedades de límite de especificación, por lo que estoy usando JSL para apilar manualmente esos valores en una matriz para agregarlos también a los datos. El problema es que parece que no puedo asignar valores a una matriz sin definirla. Y no puedo definir dinámicamente una matriz. Tal vez me estoy perdiendo algo o hay otros trucos de matriz que alguien puede sugerir.
dt0 es la tabla desde la que estoy operando
i_ncols se determina a partir del número de filas en otra tabla.
ls_colnames es la lista de nombres de columna que quiero apilar y se genera usando otra tabla
ld_targets es la matriz final que deseo generar con este ciclo
// obtener objetivos de las propiedades de la columna
ld_objetivos = [](3, i_ncols);
Para( i = 1, i <= i_ncols, i++,
Para( j = 0, j <= 2, j++,
ld_specs = Column( dt0, ls_colnames[i_ncols * j + i] ) << Get Property( "Spec Limits" );
ld_objetivos[j + 1, i] = ld_specs["Objetivo"];
)
);
esto da como resultado un error de compilación "entero esperado para el número de columnas" y ni siquiera se ejecutará.
si no defino la matriz (comenta la primera línea), aparece el error de tiempo de ejecución "No hay nada que establecer en el acceso o la evaluación de 'Assign', ld_targets[j + 1, i] = ld_specs["Target"]"
¿Alguna sugerencia?
gracias de antemano
Brezo
Vaya, eso fue muy fácil. ¿Por qué no está esto más claro en la Guía de secuencias de comandos?
Ahora tengo que averiguar cómo poner esta matriz en una tabla. Busque una nueva publicación sobre esa pregunta.
H
Utilice Matrix() en lugar de [ ] al definir una matriz con una variable.
ld_objetivos = matriz ( 3 , i_ncols ) ;