| 揚聲器 |
抄本 |
| Georg Raming(世創電子材料股份公司) |
大家好。 |
| |
今天我想談談從分散式和複雜來源獲取資料的策略和範例。 |
| |
我叫 Georg Raming,在 Siltronic 公司負責單晶生長製程的開發。我有一些統計評估和製程開發經驗。 |
| |
以及產品數據和統計教育。我還負責Siltronic的JMP軟體以及數百名使用者的訓練活動。 |
| |
Siltronic 是全球領先的高度專業化超純矽晶片製造商之一。 |
| |
一些技術提示。在本演示中,我使用的是資料表而不是資料庫,但這裡展示的概念最初是用於透過 ODBC 連接從關聯式資料庫取得資料的。 |
| |
JMP 查詢產生器對 JMP 資料表和資料庫表的工作方式類似。 |
| |
今天演示的目標是什麼?就是要建立一些方法,以便能夠輕鬆且有效率地將資料庫中的資料匯入 JMP 或 JMP 表中。 |
| |
我們先來談談建置模組。 |
| |
因此其中一個可能是 JMP 資料表。 |
| |
因此,如果您透過資料庫查詢產生了資料表,它看起來可能像這樣。因此,我在這裡採用了 JMP 著名的範例表格 Big Class,並透過 JMP 查詢產生器查詢了資料。我刪除了表格自備的所有腳本。 |
| |
你會發現 |
| |
對於此資料表,如果您透過 JMP Query Builder 進行查詢,則會得到幾個腳本和表變數。 |
| |
所以在那個變數裡面,你可以看到 SQL。所以資料表的定義是從表或資料庫中提取的。 |
| |
你有這些腳本,一個來源腳本,簡單地 |
| |
像這樣取得原始資料表的另一個副本。在這裡您可以看到原始腳本也在其中,但其中包含來自 JMP 查詢產生器的腳本。 |
| |
還有一個修改查詢腳本,可讓您在 JMP 資料表上編輯此查詢並執行它。 |
| |
還有一個從資料庫更新的查詢。所以如果你更改了數據表中的數據 |
| |
或者數據表中有新數據,只需按此按鈕即可更新數據。 |
| |
像這樣。這裡的腳本也再次來自範例表。 |
| |
好的,下一個建置區塊是 JMP 查詢產生器。 |
| |
因此,一旦您在資料庫中有一個或多個表,您就想進行查詢,就像這裡一樣,我從 JMP 範例表中取出了“大類”和“大類家族” |
| |
目錄並使用 JMP 查詢產生器,例如 |
| |
表格上。 JMP 查詢產生器。 |
| |
JMP 看到這些打開的表 |
| |
主欄位中也有一個,我可以像這樣新增一個輔助表,JMP 會自動在兩個表之間建立連接。它們是如何連接的?您可以編輯這個連接 |
| |
像這樣。 |
| |
您將在這裡看到詳細資訊。 |
| |
然後你可以繼續建立查詢 |
| |
像這樣。這裡有兩張桌子可供使用。 |
| |
您也可以在這裡再次編輯連接 |
| |
也許你想添加所有 |
| |
列, |
| |
像這樣。 |
| |
也許你想加一個過濾器, |
| |
像這樣。 |
| |
並執行查詢。然後你再次 |
| |
使用來自的腳本取得此結果表 |
| |
這裡我們不需要範例表。 |
| |
我把它們刪掉了。這些是腳本,由 JMP Query Builder 編寫的腳本和變數 |
| |
就像我以前用過的那樣。同樣,在這裡你可以 |
| |
編輯此查詢。查詢腳本保存在此結果表中,就像我們之前在此處定義的那樣。 |
| |
這就是 JMP 查詢產生器的工作原理。 |
| |
如同先前所提到的,它在資料庫表上的工作方式與在 JMP 範例表上的工作方式相同。 |
| |
下一個建築...我還在這裡放了一些腳本,你可以隨時從可視化查詢生成器切換 |
| |
自訂 SQL |
| |
查詢。所以這裡有效。另一個紅色三角形菜單。 |
| |
轉換為自訂 SQL,並以視覺化方式定義此處的內容, |
| |
您可以在此處以文字 SQL 查詢定義。 |
| |
你可以運行它。 |
| |
當我們查看此查詢或按下“修改查詢”按鈕時, |
| |
你會看到文字查詢。所以這只是一種方法, |
| |
從視覺化查詢轉換為自訂 SQL 查詢。 |
| |
所以讓我整理一下 |
| |
一些桌子。好的。 |
| |
下一個建置區塊是從資料庫取得數據,您需要與該資料來源建立 ODBC 連線。 |
| |
通常,ODBC 資料來源和驅動程式會由您的 IT 管理部門設定。因此,在 Windows 下,您可以找到 |
| |
ODBC 資料來源管理員下的這些連線。 |
| |
請記住,資料庫來源的位元數應該與 JMP 相容。因此,在這種情況下,我有 64 位元 JMP 應用程序,因此需要 64 位元驅動程式。 |
| |
而使用者來源,你可以自己設定。 |
| |
且系統DSN由管理員設置,不同類型的資料庫的驅動程式也由管理員設定。 |
| |
如果需要排除故障,您可以使用此選項卡進行追蹤 |
| |
查詢去了哪裡以及可能存在什麼問題。 |
| |
我的建議是檢查這些資料來源的連接是否正常。如果您點擊“配置”,然後開啟資料來源管理器,在提供憑證後,您可以針對特定資料來源進行連線測試。 |
| |
如果一切順利,系統會告訴你 |
| |
連線成功。 |
| |
查詢不起作用並不取決於 Windows。 |
| |
其他詳細信息,請參閱 JMP 手冊中的文件。例如,《使用 JMP》第三章,您可以在這裡找到 |
| |
幫助菜單 |
| |
以及 JMP 文檔庫。那裡有詳盡的文檔,教你如何使用所有這些工具。 |
| |
好的,那麼在腳本和 JSL(也就是腳本語言)中,有三種方法可以編寫這些 SQL 資料庫查詢腳本。第一種方法是新建 SQL 查詢,就像我們之前用過的那樣。它位於 JMP 選單的「表」下,JMP 查詢產生器(用於 JMP 表)。 |
| |
或者對於資料庫,您可以在資料庫查詢產生器下找到它。 |
| |
然後,「新 SQL 查詢」是所有命令中最強大的。它會產生一個新的查詢對象,您可以將其儲存為 JMP 查詢檔案。它可以直接生成資料表,並提供良好的資料來源,就像我們之前在來源修改和更新腳本中看到的那樣。 |
| |
JSL 中另一個用於從資料庫查詢資料的命令是 open database 命令。您也可以在腳本索引中找到所有這些命令的文檔。例如: |
| |
如果我輸入 |
| |
打開 |
| |
資料庫, |
| |
您可以在這裡找到所有命令的工作原理。 |
| |
連接資料庫並進行一些查詢的第三種方法是資料庫連接。 |
| |
它需要三個步驟。第一步是建立資料庫連線。第二步是將一個或多個查詢寫入資料庫。最後,您需要關閉資料庫連線。 |
| |
最後,如果您寫了一些不錯的腳本。 |
| |
你應該讓它對你或你的同事開放,至少有兩種方法。一種是把它放在插件裡,這樣你也可以輕鬆地把它提供給其他人。另一種是把它放在自訂選單中,就像我在這裡做的那樣。 |
| |
你可以找到它 |
| |
在選單中,然後像這樣。我的系統中安裝了兩個插件。 |
| |
以下是我的個人 |
| |
自訂選單。 |
| |
那麼…我們已經完成了建置模組。我們來看範例吧。 |
| |
第一個例子是使用表格腳本來保存表格佈局和查詢。 |
| |
所以它可能看起來像這樣。如果你有一個數據表, |
| |
從資料庫中,你還可以在其中放入一些腳本來獲得漂亮的圖表, |
| |
你可能想每天都用它。這裡有一個很好的可能性 |
| |
也就是說,複製沒有資料的表腳本。 |
| |
然後您就可以使用這個腳本了。 |
| |
我想寫一個新的劇本。抱歉。 |
| |
並將其貼到腳本視窗中。 |
| |
只需按下“運行腳本”按鈕即可出現新表。 |
| |
它以“???”的形式出現,沒有數據。例如,您可以將此腳本保存在選單中,以便獲取數據,但數據量可能非常大。您只需點擊「從資料庫更新」按鈕,表格就會填入所有數據,這些數據可能來自資料庫或其他地方。 |
| |
所以這是一個很好的可能性 |
| |
簡單地使用腳本 |
| |
從資料庫中取得資料。 |
| |
第二個例子 |
| |
是使用表內部的查詢。 |
| |
就像這樣。如果你有一個數據表,並且想要查詢一些額外的數據,這取決於你目前表的內容。 |
| |
所以我會展示它。 |
| |
我刪除了一些行。 |
| |
有了這三個名字,我想去不同的表格裡取得一些數據。 |
| |
它是透過這個腳本完成的。 |
| |
您可以從這個表中看到,我獲取了名稱並進行了查詢 |
| |
從 Big Class Families 的另一個表格中查詢資料。 |
| |
它是如何運作的? |
| |
您可以在此腳本中找到它。 |
| |
它很短。這裡,名稱取自定義的第一個表格查詢,就像這裡一樣。 |
| |
將名稱代入查詢中。 |
| |
此處,查詢被放入表 Big Class Families 中。 |
| |
好的,我也需要關閉這張桌子。 |
| |
這是一個帶有圖形使用者介面的自訂查詢腳本。例如,如果你的資料庫裡有一個很大的數據表,但經常需要少量數據, |
| |
當然,你可以提取所有數據,但獲取經過良好篩選的數據可能更靈活、更有效率。它的工作原理如下。 |
| |
一個表用於篩選數據,另一個表包含大數據表的所有欄位。在這裡我們可以用圖形方式篩選。假設女性和年齡,所以我只用了兩列進行篩選。 |
| |
像這樣,12、13歲。 |
| |
我可能想要保留所有列或只刪除一列。 |
| |
我查詢 |
| |
在這些限制條件下,我們得到了正確的結果。正如你在這裡看到的,在來源腳本或 SQL 中, |
| |
限制在這裡 |
| |
由圖形使用者介面定義。 |
| |
那麼如何 |
| |
腳本工作有用嗎?有點 |
| |
當然更複雜。所以有了過濾查詢。 |
| |
列查詢。 |
| |
這是一個腳本,一個將 |
| |
資料過濾條件轉換成SQL條件。 |
| |
這是GUI部分,圖形使用者介面。 |
| |
最後,對圖形使用者介面結果進行評估並將其放入此自訂腳本中。 |
| |
下一個範例是一個兩步驟查詢。假設您首先要查詢一些批次 ID。 |
| |
並把這些 ID 帶入另一個查詢,也許是另一個數據表以獲取更多數據, |
| |
你可以這樣做。這裡我以「大類」資料表作為過濾器。所以我只過濾了男性 |
| |
和 |
| |
年齡等於或小於13歲的學生。 |
| |
並利用這些名字在 Big Class Families 中查詢所有行,就像您在這裡看到的那樣。 |
| |
和 |
| |
兩個表都透過虛擬連接連接起來,就像您在這裡看到的那樣。 |
| |
所以 |
| |
此表透過名稱引用另一個表,然後引用到篩選表。我可以使用 |
| |
此表中的篩選表的列就像 |
| |
在此表中。 |
| |
因此,這是一種擁有多個表並在一個表中使用內容的好方法。 |
| |
最後一個例子是 |
| |
如何在背景並行運行兩個或多個查詢?這裡沒有範例。 JMP 社群對此進行了討論。如果您有興趣,可以查看一下。 |
| |
現在我已經完成了我的範例,並且日誌和演示材料腳本可以在線獲取。 |
| |
感謝社群的精彩討論,也感謝 JMP 開發人員建立和維護這款優秀的軟體。最後,感謝您的關注。 |