大家好,
我正在嘗試創建一個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 )}
)