如何創建單個腳本以從數據庫中獲取數據,然後使用該數據集執行分析大家好,
我正在嘗試創建一個從數據庫中提取數據的 JSL 腳本,然後創建各種圖表並對該數據集執行一些分析。 到目前為止,我已經能夠使用數據庫查詢生成器來獲取我需要的數據,但不能使用相同的腳本來完成我需要的繪圖。 作為使用 JSL 編寫腳本的新手,這似乎是一項非常艱鉅的任務。 下面是我能夠從 2 個數據庫中獲取數據並將它們合併在一起的腳本。 但是,我想保存此數據表然後創建繪圖。如果我嘗試在查詢之前添加 Obj 引用,它不會返回任何數據。 有什麼建議麼?
最好的,
德布拉伊
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
分析數據表其他腳本回复:我如何創建一個腳本來從數據庫中獲取數據,然後使用該數據集執行我的分析事實證明,這個問題主要是由於名稱空間引起的。 我做了一些挖掘並在下面的行中找到了解決方案。
https://community.jmp.com/t5/Discussions/Getting-a-data-table-reference-from-NewSQLQuery-lt-lt-Run/td-p/187001回复:我如何創建一個腳本來從數據庫中獲取數據,然後使用該數據集執行我的分析我將 Save () 切換為 Include (),現在可以正常工作了。 我不確定為什麼......回复:我如何創建一個腳本來從數據庫中獲取數據,然後使用該數據集執行我的分析非常感謝吉姆。 它確實起作用了。 我相信在 >>run 最初我錯過了分號,這就是為什麼它沒有按我預期的方式運行。
但是,腳本確實保存下來了,他們製作了我第一次放入其中的情節。 然後當我刪除 .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 )}
)
回复:我如何創建一個腳本來從數據庫中獲取數據,然後使用該數據集執行我的分析我沒有用於測試的數據庫,但我認為這種方法應該可行。
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(.............);