Este es el código que funciona actualmente, pero me gustaría automatizarlo y, probablemente, codificar la sección en cursiva BOLD a continuación, que es la lista de CMOS_Lot-Wafer de la lista de datos de la lista de obleas. También he adjuntado el código que yo Intenté codificar esta sección y no funciona. Alguien podría echarle un vistazo y ayudarme, por favor, gracias.
(Lista de obleas es la lista de usuarios que proporcionará el usuario)
dt1 = Data Table( "Wafer List" ) << Stack(
columns( :Name( "Group A - Wafer Number" ), :Name( "Group B - Wafer Number" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "CMOS-Lot-Wafer" ),
Output Table( "Stacked-waferList" )
);
dt3 = Open Database(
"DSN=MS_SQL;Description=WAFERVIEWER;Trusted_Connection=Yes;APP=JMP;WSID=USSJC-J9K98H2;DATABASE=PRODUCT;",
"SELECT T.[CHECK AXSELFTEST], T.[CMOS_Lot-WaferID] FROM Summary S
INNER JOIN WS_Tests T ON T.[CMOS_Lot-WaferID] = S.[CMOS_Lot-WaferID] AND T.RetestID = S.RetestID
<EM><STRONG>WHERE S.[CMOS_Lot-Wafer] IN ('DBM301-02',</STRONG>
<STRONG>'DBM308-12',
'DBM306-24',
'DBM297-03',
'DBM308-20',
'DBM297-02',
'DBM316-03',
'DBM306-09',
'DBM024-09'</STRONG>
<STRONG>)",
"Summary"</STRONG></EM>
);
dt2 = Data Table( "Stacked waferList" ) << Join(
With( Data Table( "Summary" ) ),
Select( :Label, :Name( "CMOS-Lot-Wafer" ), :Name( "CMOS_Lot-WaferID" ) ),
SelectWith( :DieID, :CHECK AXSELFTEST ),
By Matching Columns( :Name( "CMOS_Lot-WaferID" ) = :Name( "CMOS_Lot-WaferID" ) ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "WS- Summary for WaferList" )
);
// El código NO funciona. Intenté codificar la parte CMOS_Lot-Wafer pero no funciona
(Lista de obleas es la lista de usuarios que proporcionará el usuario)
dt1 = Data Table( "Wafer List" ) << Stack(
columns( :Name( "Group A - Wafer Number" ), :Name( "Group B - Wafer Number" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "CMOS-Lot-Wafer" ),
Output Table( "Stacked-waferList" )
);
SQLConnection = Create Database Connection(
"DSN=MS_SQL;Description=WAFERVIEWER;Trusted_Connection=Yes;APP=JMP;WSID=USSJC-J9K98H2;DATABASE=ISTANBUL;"
);
PrePUSQL01 =
"SELECT
T.CHECK AXSELFTEST,
C.CMOS_Lot-Wafer
FROM database.dbo.WS_tests AS T
JOIN Stacked waferList AS C ON C.CMOS_Lot-Wafer = T.CMOS_Lot-Wafer";
dt = Execute SQL( SQLConnection, PrePUSQL01, "dt" );
Esto no parece un código SQL válido:
"SELECT
T.CHECK AXSELFTEST,
C.CMOS_Lot-Wafer
FROM database.dbo.WS_tests AS T
JOIN Stacked waferList AS C ON C.CMOS_Lot-Wafer = T.CMOS_Lot-Wafer";
Parece que está intentando combinar SQL con JSL, lo que no es posible. ¿Se ejecuta la instrucción SQL en un paquete de interfaz de base de datos como TOAD, PL / SQL Developer, SQL Navigator, etc.?
los Generador de consultas SQL en JMP lo hará por ti automáticamente. No hay necesidad de escribir el JSL a ti mismo.
Como parte de la consulta puedes construir un filtro . Ese filtro puede importar datos por valores coincidentes de una tabla de datos existente , exactamente como lo intentas hacer aquí.
Después de construir la consulta puedes guardar el script de ejecución para obtener el JSL para ejecutar la consulta como parte de un script más grande.