大家好,
我正在尝试创建一个JSL脚本,该脚本从数据库中提取数据,然后创建各种图表并对该数据集进行一些分析。到目前为止,我已经能够使用数据库查询构建器来获取所需的数据,但是不能使用相同的脚本来进行所需的绘图。对于JSL脚本来说,这是新手,这似乎是一项艰巨的任务。下面是我用来从2个数据库中获取数据并将它们合并在一起的脚本。但是,我要保存此数据表,然后创建图。 如果我尝试在查询之前添加一个Obj引用,它不会返回任何数据。有什么建议?
最好,
德布拉吉
新的SQL查询 (
版( 130 ),
连接(
“ ODBC:DSN =参数32;描述=参数32; UID = GUEST; PWD =; APP = JMP; WSID = DEBRAJG-W10LT;”
),
QueryName( “ LSO-THK” ),
选择(
柱 ( “ WAFER” , “ t1” ),
柱 ( “约会时间” , “ t1” ,数字格式( “ m / d / yh:m:s” , “ 0” , “没有” , ” ))
柱 ( “很多” , “ t1” ),
柱 ( “ TESTER” , “ t1” ),
柱 ( “ RECEIPE” , “ t1” ),
柱 ( “ THICKNESS_1” , “ t1” ),
柱 ( “ THICKNESS_2” , “ t1” ),
柱 ( “ THICKNESS_3” , “ t1” ),
柱 ( “ THICKNESS_4” , “ t1” ),
柱 ( “ THICKNESS_5” , “ t1” ),
柱 ( “ THICKNESS_6” , “ t1” ),
柱 ( “ THICKNESS_7” , “ t1” ),
柱 ( “ THICKNESS_8” , “ t1” ),
柱 ( “ THICKNESS_9” , “ t1” ),
柱 ( “ THICKNESS_AVG” , “ t1” ),
柱 ( “ THICKNESS_STD” , “ t1” ),
柱 ( “ THICKNESS_MIN” , “ t1” ),
柱 ( “ THICKNESS_MAX” , “ t1” ),
柱 ( “ THICKNESS_RANGE” , “ t1” ),
柱 ( “操作” , “ t2” ),
柱 ( “ WIP_MSG_KEY” , “ t2” ),
柱 ( “ WIP_MSG_LEVEL3” , “ t2” ),
柱 ( “ WIP_MSG_LEVEL2” , “ t2” ),
柱 ( “ WIP_MSG_LEVEL1” , “ t2” )
),
从(
表( “ WFLSOTHK” ,架构( “ dbo” ),别名( “ t1” ))
表(
“ FT_WF_HIST” ,
别名( “ t3” ),
加入(
类型 (左外),
情商(
柱 (
“约会时间” ,
“ t1” ,
数值格式( “ m / d / yh:m:s” , “ 0” , “没有” , ” )
),
柱 (
“约会时间” ,
“ t3” ,
数值格式( “ m / d / yh:m:s” , “ 0” , “没有” , ” )
)
)&EQ( 柱 ( “很多” , “ t1” ),柱 ( “很多” , “ t3” ))
)
),
表(
“ WF_MESA_WIP_MSG_HIST” ,
别名( “ t2” ),
加入(
类型 (左外),
情商( 柱 ( “ WAFER” , “ t1” ),柱 ( “ WAFER” , “ t2” ))&
情商( 柱 ( “很多” , “ t1” ),柱 ( “很多” , “ t2” ))
)
)
),
哪里(
在清单中
柱 ( “操作” , “ t2” ),
{ “ O0TS” },
UI(SelectListFilter(ListBox,Base( “分类” )))
)
)
)>>运行
我没有数据库可以对此进行测试,但是我认为这种方法应该可行。
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(.............);非常感谢Jim。它确实起作用了。我认为>>最初运行后我缺少分号,这就是为什么它没有达到我期望的方式的原因。
但是,脚本确实保存了,并且它们产生了我第一次放入的图。然后,当我删除.csv文件并重新运行时,它没有再次保存该文件并绘制曲线。它间歇性地运行。它保存文件,然后绘制曲线几次,而在其他大多数情况下,它只是从数据库中提取数据后才停止。是否有我所缺少的技巧或需要更改的参数?以下是我添加到SQL数据库查询中的代码的一部分,该代码间歇地工作。
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 )}
)