Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actualHola,
Hola, tengo una duda con respecto al script JSL (¡muy nuevo en esto!)
Tengo dos archivos de datos: la tabla A y la tabla B.
Tabla A:-
Tabla B:-

Quiero agregar valores de Tabla B Nombre de columna "Compensación" a cada Fila del Grupo de Columnas "Pruebas" en la Tabla A y generar un nuevo archivo de tabla de datos con valores agregados.
PD: hay más de 100 columnas en el archivo de la Tabla A. ¿Cómo puedo usar un bucle for para iterar todas las filas y columnas?
Esto es lo que he intentado para empezar. ¿Alguna idea sobre esto o una forma más eficiente de hacerlo?
</CODE></PRE><PRE class="language-jsl"><CODE>Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
For Each Row(
dt:Current = dt:Current + dtOffset:Offset[1];
dt:Voltage = dt:Voltage + dtOffset:Offset[2];
dt:Resistance = dt:Resistance + dtOffset:Offset[3];
dt:Inductance = dt:Inductance + dtOffset:Offset[4];
dt:Capacitance = dt:Capacitance + dtOffset:Offset[5];
dt:Power = dt:Power + dtOffset:Offset[6];
dt:Temperature = dt:Temperature + dtOffset:Offset[7];
dt:Humidity = dt:Humidity + dtOffset:Offset[8];
dt:Pressure = dt:Pressure + dtOffset:Offset[9];
dt:Suseptance = dt:Suseptance + dtOffset:Offset[10];
);
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
colList = dt << get column names(string);
For( i = 1, i <= N Items( colList ), i++,
// Find the offset value in the dtOffset(Table B) data table
// Because the column name from Table A may not have an offset
// in Table B that has to be accounted for
theRow = dtOffset << get rows where( dtOffset:Tests == colList[i] );
show(i,nrows(therow));
// If no rows are returned, no offset was found
If( N Rows( theRow ) == 1,
offset = dtOffset:Offset[theRow[1]];
For( k = 1, k <= N Rows( dt ), k++,
Column( dt, i )[k] = Column( dt, i )[k] + offset
);
);
</CODE></PRE><P><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687" target="_blank">@txnelson</A><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/6657" target="_blank"> @ih</A><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/14366" target="_blank"> @jthi</A><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/6878" target="_blank"> @Jeff_Perkinson</A></P><P> </P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-412679" slang="en-US" mode="NONE"><LINGO-LABEL>Analítica</LINGO-LABEL><LINGO-LABEL>secuencias de comandos</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-413205" slang="en-US" mode="NONE">Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actual</LINGO-SUB><LINGO-BODY id="lingo-body-413205" slang="en-US" mode="NONE"><P>Bueno, no soy solo yo. He visto publicaciones similares antes.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-413030" slang="en-US" mode="NONE">Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actual</LINGO-SUB><LINGO-BODY id="lingo-body-413030" slang="en-US" mode="NONE"><P>¡El foro de discusión de la comunidad no es un lugar al que ir para que le escriban scripts de JMP!Debe tomarse el tiempo para aprender JSL y usar el foro de discusión para ayudarlo con problemas específicos que no comprende.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-413029" slang="en-US" mode="NONE">Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actual</LINGO-SUB><LINGO-BODY id="lingo-body-413029" slang="en-US" mode="NONE"><P>La entrada del archivo de registro desde que se ejecuta su código es:</P>
<PRE>not enough arguments in access or evaluation of 'For' , For/*###*/(i = 1 ; N Rows( dt ) ; i++, Column( dtOffset )[i] = dt:colList[i]
+dtOffset:Offset[i])
at line 7 in Script 5.jsl</PRE>
<P>Lo que esto le está diciendo es que la sintaxis de la función For() que está utilizando es incorrecta.</P>
<P>La definición correcta se puede encontrar en el Índice de secuencias de comandos o en la Guía de secuencias de comandos.Además, si observa su implementación de la función For() y la muestra que proporcioné, su versión no es la misma.</P>
<P>Su solución requerirá que recorra las columnas en su Tabla A.Para cada columna, deberá obtener el valor de Compensación que se debe aplicar a los valores en la columna de la Tabla A, y luego recorrer todas las filas en esa columna, aplicando la compensación correcta.<CODE class=" language-jsl">
Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actualHola @ih ,
Quiero agregar valores de Tabla B Nombre de columna "Compensación" a cada Fila del Grupo de Columnas "Pruebas" en la Tabla A y generar un nuevo archivo de tabla de datos con valores agregados. Hay más de 100 columnas en la Tabla A. ¿Cómo puedo usar una sintaxis de bucle para iterar en cada fila y columna?
Esto es lo que he intentado empezar con
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
colList = dt << get column names;
For(i=1; N Rows(dt); i++,
Column(dtOffset)[i] = dt:colList[i] + dtOffset:Offset[i];
);
Agradezco si pudieras sugerir
Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actual@txnelson
Esto es lo que probé. No estoy seguro de lo que está mal. ¿Puedes echar un vistazo?
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
colList = dt << get column names;
For(i=1; N Rows(dt); i++,
Column(dtOffset)[i] = dt:colList[i] + dtOffset:Offset[i];
);
Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actualPuedes usar
colList = dt << get column names;
para obtener los nombres de las columnas en la tabla de datos
y luego use un bucle For()
For(i=1,i<=N Items(colList), i++,
.......
.......
.......
);
para realizar las operaciones que necesita hacer para cada columna.
Estos están documentados en la guía de secuencias de comandos y el índice de secuencias de comandos... con ejemplos
Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actual¿Cómo puedo usar un bucle para realizar una suma? ¿Hay más de 100 columnas en la Tabla A?
Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actualMuchas gracias @txnelson eres un genio 
Re: Agregar valores de otro archivo de tabla de datos al archivo de tabla de datos actual- Tómese el tiempo para leer la Guía de secuencias de comandos y familiarizarse con el Índice de secuencias de comandos.
- Si necesita repasar las habilidades generales de programación, hay una gran cantidad de sitios en Internet que pueden ayudarlo con eso.
- Aquí está el script simple que hará lo que quieras.
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
For Each Row(
dt:Current = dt:Current + dtOffset:Offset[1];
dt:Voltage = dt:Voltage + dtOffset:Offset[2];
dt:Resistance = dt:Resistance + dtOffset:Offset[3];
dt:Inductance = dt:Inductance + dtOffset:Offset[4];
dt:Capacitance = dt:Capacitance + dtOffset:Offset[5];
dt:Power = dt:Power + dtOffset:Offset[6];
dt:Temperature = dt:Temperature + dtOffset:Offset[7];
dt:Humidity = dt:Humidity + dtOffset:Offset[8];
dt:Pressure = dt:Pressure + dtOffset:Offset[9];
dt:Suseptance = dt:Suseptance + dtOffset:Offset[10];
);