¿Cómo creo un único script para obtener datos de la base de datos y luego realizo mi análisis con ese conjunto de datos?Hola a todos,
Estoy tratando de crear un script JSL que extraiga datos de una base de datos, luego cree varios gráficos y realice algunos análisis con ese conjunto de datos. Hasta ahora, he podido usar el generador de consultas de la base de datos para obtener los datos que necesito, pero no puedo usar el mismo script para hacer los gráficos que necesito. Siendo nuevo en la creación de scripts en JSL, esta parece ser una tarea realmente desalentadora. A continuación se muestra el script con el que he podido obtener datos de 2 bases de datos y fusionarlos. Sin embargo, quiero guardar esta tabla de datos y luego crear gráficos.Si trato de agregar una referencia de Obj antes de la consulta, no devuelve ningún dato. ¿Alguna sugerencia?
Mejor,
Debraj
New SQL Query(
Version( 130 ),
Connection(
"ODBC:DSN=Parametric 32;Description=Parametric 32;UID=GUEST;PWD=;APP=JMP;WSID=DEBRAJG-W10LT;"
),
QueryName( "LSO-THK" ),
Select(
Column( "WAFER", "t1" ),
Column( "DATE_TIME", "t1", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "LOT", "t1" ),
Column( "TESTER", "t1" ),
Column( "RECEIPE", "t1" ),
Column( "THICKNESS_1", "t1" ),
Column( "THICKNESS_2", "t1" ),
Column( "THICKNESS_3", "t1" ),
Column( "THICKNESS_4", "t1" ),
Column( "THICKNESS_5", "t1" ),
Column( "THICKNESS_6", "t1" ),
Column( "THICKNESS_7", "t1" ),
Column( "THICKNESS_8", "t1" ),
Column( "THICKNESS_9", "t1" ),
Column( "THICKNESS_AVG", "t1" ),
Column( "THICKNESS_STD", "t1" ),
Column( "THICKNESS_MIN", "t1" ),
Column( "THICKNESS_MAX", "t1" ),
Column( "THICKNESS_RANGE", "t1" ),
Column( "OPERATION", "t2" ),
Column( "WIP_MSG_KEY", "t2" ),
Column( "WIP_MSG_LEVEL3", "t2" ),
Column( "WIP_MSG_LEVEL2", "t2" ),
Column( "WIP_MSG_LEVEL1", "t2" )
),
From(
Table( "WFLSOTHK", Schema( "dbo" ), Alias( "t1" ) ),
Table(
"FT_WF_HIST",
Alias( "t3" ),
Join(
Type( Left Outer ),
EQ(
Column(
"DATE_TIME",
"t1",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
Column(
"DATE_TIME",
"t3",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
)
) & EQ( Column( "LOT", "t1" ), Column( "LOT", "t3" ) )
)
),
Table(
"WF_MESA_WIP_MSG_HIST",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "WAFER", "t1" ), Column( "WAFER", "t2" ) ) &
EQ( Column( "LOT", "t1" ), Column( "LOT", "t2" ) )
)
)
),
Where(
In List(
Column( "OPERATION", "t2" ),
{"O0TS"},
UI( SelectListFilter( ListBox, Base( "Categorical" ) ) )
)
)
) >> Run
AnalíticaTabla de datosOtrosecuencias de comandosRe: ¿Cómo creo un único script para obtener datos de la base de datos y luego realizar mi análisis con ese conjunto de datos?Resulta que el problema se debió principalmente a los espacios de nombres. Investigué un poco y encontré la solución en la línea de abajo.
https://community.jmp.com/t5/Discussions/Getting-a-data-table-reference-from-NewSQLQuery-lt-lt-Run/td-p/187001Re: ¿Cómo creo un único script para obtener datos de la base de datos y luego realizar mi análisis con ese conjunto de datos?Cambié Guardar () a Incluir () y funciona bien ahora. Aunque no estoy seguro de por qué...….Re: ¿Cómo creo un único script para obtener datos de la base de datos y luego realizar mi análisis con ese conjunto de datos?Muchas gracias Jim. Funcionó. Creo que me faltaba el punto y coma después de >>ejecutar inicialmente, por lo que no se comportó de la manera que esperaba.
Sin embargo, el guión se guardó y produjeron las tramas que puse en él la primera vez. Luego, cuando eliminé el archivo .csv y lo volví a ejecutar, no volvió a guardar el archivo ni a trazar las curvas. Se está comportando de forma intermitente. Guarda el archivo y luego traza las curvas varias veces, mientras que en la mayoría de los otros casos, simplemente se detiene después de extraer los datos de la base de datos. ¿Hay algún truco para esto que me falta o un parámetro que deba cambiarse? A continuación se muestra la parte del código que agregué a la consulta de la base de datos SQL y funciona de manera intermitente.
dt = data table("WFLSOTHK");
dt << Save ("C:\path to directory\file_name.csv");
dt << Open ( "C:\path to directory\file_name.csv" );
dt << Fit Group(
Bivariate(
.
.
.
),
Bivariate(
.
.
.
),
<<{Arrange in Rows( 1 )}
)
Re: ¿Cómo creo un único script para obtener datos de la base de datos y luego realizar mi análisis con ese conjunto de datos?No tengo una base de datos para probar esto, pero creo que esta metodología debería funcionar.
Names default to here(1);
New SQL Query(
Version( 130 ),
Connection(
"ODBC:DSN=Parametric 32;Description=Parametric 32;UID=GUEST;PWD=;APP=JMP;WSID=DEBRAJG-W10LT;"
),
QueryName( "LSO-THK" ),
Select(
Column( "WAFER", "t1" ),
Column( "DATE_TIME", "t1", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "LOT", "t1" ),
Column( "TESTER", "t1" ),
Column( "RECEIPE", "t1" ),
Column( "THICKNESS_1", "t1" ),
Column( "THICKNESS_2", "t1" ),
Column( "THICKNESS_3", "t1" ),
Column( "THICKNESS_4", "t1" ),
Column( "THICKNESS_5", "t1" ),
Column( "THICKNESS_6", "t1" ),
Column( "THICKNESS_7", "t1" ),
Column( "THICKNESS_8", "t1" ),
Column( "THICKNESS_9", "t1" ),
Column( "THICKNESS_AVG", "t1" ),
Column( "THICKNESS_STD", "t1" ),
Column( "THICKNESS_MIN", "t1" ),
Column( "THICKNESS_MAX", "t1" ),
Column( "THICKNESS_RANGE", "t1" ),
Column( "OPERATION", "t2" ),
Column( "WIP_MSG_KEY", "t2" ),
Column( "WIP_MSG_LEVEL3", "t2" ),
Column( "WIP_MSG_LEVEL2", "t2" ),
Column( "WIP_MSG_LEVEL1", "t2" )
),
From(
Table( "WFLSOTHK", Schema( "dbo" ), Alias( "t1" ) ),
Table(
"FT_WF_HIST",
Alias( "t3" ),
Join(
Type( Left Outer ),
EQ(
Column(
"DATE_TIME",
"t1",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
Column(
"DATE_TIME",
"t3",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
)
) & EQ( Column( "LOT", "t1" ), Column( "LOT", "t3" ) )
)
),
Table(
"WF_MESA_WIP_MSG_HIST",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "WAFER", "t1" ), Column( "WAFER", "t2" ) ) &
EQ( Column( "LOT", "t1" ), Column( "LOT", "t2" ) )
)
)
),
Where(
In List(
Column( "OPERATION", "t2" ),
{"O0TS"},
UI( SelectListFilter( ListBox, Base( "Categorical" ) ) )
)
)
) >> Run;
dt = data table("WF_MESA_WIP_MSG_HIST");
dt << save("Path to save location");
dt << Graph Builder(.............);