揚聲器
|
成績單
|
| 喬治·拉明 (Siltronic AG) |
大家好。 |
| |
今天我想談談從分散式和複雜的來源獲取資料的策略和範例。 |
| |
我的名字是 Georg Raming,我的工作是 ??? 的流程開發在 Siltronic 生長單晶。 我在統計評估和流程方面有一些經驗 |
| |
以及產品數據和統計教育。 我還負責 Siltronic 的 JMP 軟體以及數百名使用者的訓練活動。 |
| |
Siltronic 是全球領先的高度專業化超純矽晶圓製造商之一。 |
| |
一些技術提示。 因此,在本簡報中,我使用資料表而不是資料庫,但此處顯示的概念最初用於透過 ODBC 連接從關聯式資料庫取得資料。 |
| |
JMP 查詢產生器對於 JMP 資料表和資料庫表的工作方式類似。 |
| |
今天演講的目標是什麼? 它旨在建立一些方法,以簡單有效的方式將資料從資料庫取得到 JMP 或 JMP 表中。 |
| |
我們首先來談談構建塊。 |
| |
因此,其中一個可能是 JMP 資料表。 |
| |
因此,如果您從資料庫查詢產生了資料表,它可能如下所示。 因此,我在這裡採用了 JMP Big Class 中著名的範例表,並透過 JMP 查詢產生器查詢了資料。 我刪除了表格附帶的所有腳本。 |
| |
並且你會發現 |
| |
對於此資料表,如果您透過 JMP 查詢產生器、多個腳本和表變數進行查詢。 |
| |
所以在該變數中,您可以看到 SQL。 所以資料表的定義是從表或資料庫中得出的。 |
| |
你有這些腳本,一個來源腳本,只需 |
| |
像這樣取得原始資料表的另一個副本。 在這裡您可以看到原始腳本也在那裡,但這些腳本又來自 JMP 查詢產生器。 |
| |
還有一個修改查詢腳本,可讓您在 JMP 資料表上編輯此查詢並執行它。 |
| |
並且有一個從資料庫更新的查詢。 所以如果你改變了數據表中的數據 |
| |
或者數據表中有新數據,只需按此按鈕即可更新數據。 |
| |
像這樣。 這裡的腳本也再次來自範例表。 |
| |
好的,下一個建置區塊是 JMP 查詢產生器。 |
| |
因此,一旦資料庫中有一個或多個表,您想要像這裡一樣進行查詢,我從 JMP 範例表中取得了 Big Class 和 Big Class Families |
| |
目錄並使用 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 查詢產生器下。 |
| |
或者對於資料庫,您可以在資料庫查詢產生器下找到它。 |
| |
New SQL Query 是所有指令中最強大的。 因此,它會產生一個新的查詢對象,您可以將其儲存為 JMP 查詢檔案。 它可以直接生成資料表並提供非常好的資料來源,正如我們之前在來源修改和更新腳本中看到的那樣。 |
| |
JSL 中另一個從資料庫查詢資料的指令是 open database 指令。 您也可以在腳本索引中找到所有這些命令的文檔。 像這兒, |
| |
如果我輸入 |
| |
打開 |
| |
資料庫, |
| |
您可以在這裡找到它如何適用於所有命令。 |
| |
連接到資料庫並進行一些查詢的第三種方法是資料庫連接。 |
| |
它需要三個步驟。 第一個是建立資料庫連線。 第二種是將您的一個或多個查詢放入資料庫。 最後,您需要關閉資料庫連線。 |
| |
最後,如果你寫了一些不錯的腳本。 |
| |
您應該讓您或同事可以訪問它,至少有兩種方法。 因此,一種方法是將其放入加載項中,以便您也可以輕鬆地將其提供給其他人。 另一種可能性是將其放入自訂選單中,就像我在這裡所做的那樣。 |
| |
你可以找到它 |
| |
在選單中,然後像這樣。 我的系統中安裝了兩個加載項。 |
| |
這是我個人的 |
| |
自訂選單。 |
| |
那麼讓我們...我們已經完成了構建塊。 讓我們看一下例子。 |
| |
第一個範例是使用表格腳本來保存表格佈局和查詢。 |
| |
所以它可能看起來像這樣。 如果你有一個數據表 |
| |
從資料庫中取出一些腳本,也可以得到漂亮的圖表, |
| |
您可能想每天使用它。 這裡有一個很好的可能性 |
| |
也就是說,複製沒有資料的表腳本。 |
| |
然後您就可以使用這個腳本了。 |
| |
我想製作一個新劇本。 對不起。 |
| |
並將其貼到腳本視窗中。 |
| |
只需按“運行腳本”按鈕即可建立新表。 |
| |
它的形式是???,沒有數據。 你可以保存這個腳本,例如,在你的選單中並獲取數據,它可能是一個巨大的數據量。 您只需按下「從資料庫更新」按鈕,表格就會填入來自資料庫或其他地方的所有資料。 |
| |
所以這是一個很好的可能性 |
| |
簡單地使用腳本 |
| |
從資料庫取得資料。 |
| |
第二個例子 |
| |
是使用表內部的查詢。 |
| |
像這樣。 如果你有一個數據表,並且想要查詢一些額外的數據,取決於你目前表的內容。 |
| |
所以我會展示它。 |
| |
我刪除了一些行。 |
| |
有了這三個名字,我想去另一個表格來獲取一些數據。 |
| |
這是透過這個腳本完成的。 |
| |
從這張表中您可以看到,我獲取了姓名並進行了查詢 |
| |
從大類家庭的另一個表中查詢資料。 |
| |
它是如何運作的? |
| |
您可以在此腳本中找到它。 |
| |
它很短。 在這裡,名稱取自定義的第一個表格查詢,如下所示。 |
| |
這些名稱將會替換到查詢中。 |
| |
這裡查詢被放入 Big Class Families 表中。 |
| |
好吧,我也需要關閉這張桌子。 |
| |
這是一個帶有圖形使用者介面的自訂查詢腳本。 因此,例如,如果您的資料庫中有一個大型數據表並且經常需要少量數據, |
| |
當然,您可以提取所有數據,但獲取經過良好過濾的數據可能更靈活、更有效率。 所以它是這樣工作的。 |
| |
一張用於篩選資料的表和一張包含大資料表所有列的表。 在這裡我們可以以圖形方式進行過濾。 假設是女性和年齡,所以我只用了兩列來過濾, |
| |
就這樣,12歲、13歲。 |
| |
我可能想要擁有所有列或僅刪除一列。 |
| |
我查詢一下 |
| |
並在這裡透過這些限制得到正確的結果。 正如您在此處看到的那樣,您可以在來源腳本或 SQL 中看到, |
| |
限制在這裡 |
| |
從定義的圖形使用者介面。 |
| |
以及如何 |
| |
腳本工作有效嗎? 有點 |
| |
當然,更複雜。 於是就有了過濾查詢。 |
| |
列查詢。 |
| |
這是一個腳本,一個轉換的函數 |
| |
資料過濾條件轉換為SQL條件。 |
| |
這是GUI部分,圖形使用者介面。 |
| |
最後,在這裡,對圖形使用者介面結果進行評估並將其放入此自訂腳本中。 |
| |
下一個範例是兩步驟查詢。 因此,我們假設您必須先查詢一些批次 ID。 |
| |
並將這些 ID 放入另一個查詢中,也許放入另一個數據表中以獲取其他數據, |
| |
你可以這樣做。 所以這裡我以Big Class資料表作為過濾器。 所以我只過濾了男性 |
| |
和 |
| |
等於或小於13歲的學生。 |
| |
並使用這些名稱來查詢大類家庭的所有行,就像您在此處看到的那樣。 |
| |
和 |
| |
兩個表都透過虛擬聯接連接,就像您在此處看到的那樣。 |
| |
所以 |
| |
該表透過名稱將另一個表引用到過濾器表。 我可以使用 |
| |
過濾表的列在此表中,就好像它們是 |
| |
在此表中。 |
| |
因此,這是擁有多個表並使用一個表中的內容的好方法。 |
| |
最後一個例子是 |
| |
如何在背景並行運行兩個或多個查詢。 所以我這裡沒有例子。 JMP 社群對此進行了討論。 如果你有興趣的話,你可以看一下。 |
| |
現在我已經完成了範例,日誌和演示材料腳本可以在線獲取。 |
| |
感謝社群的精彩討論,感謝 JMP 開發人員建立和維護這個出色的軟體。 最後,感謝您的關注。 |