對於我們大多數人來說,我們分析的數據 JMP 從其他地方開始:在關係數據庫,Excel,CSV文件或SAS中。將這些數據無縫移動到JMP並準備進行分析的需要使我們引入了查詢生成器 JMP 12中的功能。查詢生成器幫助您從外部數據源中選擇多個表並加入它們。然後,您可以交互式過濾(如果需要,創建提示過濾器),為導入的數據採樣和設置列名,格式和建模類型。
我們從用戶那裡獲得的反饋意見查詢生成器表明你發現它很有用。我們也為修復和增強提出了建議查詢生成器和數據訪問的其他方面。通過JMP 13,我們提供了大量此類修復和增強功能。下面詳細介紹了13個最重要的修復和增強功能。
過濾
前四個增強功能都與過濾數據有關。
小心,我的數據可能很大 - 為分類列創建過濾器時,查詢生成器將檢索要在列表中顯示的值。對於大型桌子,這可能需要很長時間。在JMP 12中,價值檢索是無條件的,而且沒有辦法取消它。在JMP 13中,我們進行了一些更改以防止長時間等待:
- 可取消的值檢索 - JMP 13提出了一個進度條取消檢索分類列值時的按鈕。我們在Windows上運行JMP時測試的所有ODBC驅動程序都支持此功能。連接到SAS或大多數可用於Macintosh的ODBC驅動程序時,不支持此功能。
嘗試太大了 - 如果表中有超過1,000,000行,JMP甚至不會嘗試檢索唯一列值。可以通過首選項更改1,000,000值。
- 更簡單的清單 - 在JMP 12中,複選框列表是唯一可用於從值列表中進行選擇的過濾器類型。在JMP 13中,我們增加了一個平原列錶框過濾器類型。該列錶框過濾器的資源密集程度低於複選框列表過濾。這使它更適合更大的列表。分類列的默認過濾器類型是列錶框在JMP 13中。
新的過濾器類型 - 除了新的,更簡單列錶框過濾器類型,為JMP 13中的分類列添加了另外兩種過濾器類型:
- 包含 filter - 輸入一些文本,JMP將匹配包含該文本的所有行。您也可以要求匹配的行不包含文本。
手冊清單 filter - 允許您自己創建選擇列表,以避免需要查找值。
列表過濾器現在是可逆的 - 所有列表類型過濾器( 列錶框,手冊列表,複選框列表和匹配列值 )現在有一個不在列表中複選框。這允許您選擇幾個項目並檢索所有行不匹配選定的值。例如,此過濾器將返回所有被評為其他內容的電影 “G” :

列表過濾器現在可以是條件的 - 這個有點大。 使用列表類型過濾器上的紅色三角形菜單,您可以將過濾器設置為有條件的。 條件篩選器僅顯示與列表中位於其前面的其他篩選器匹配的值。以下是使用電影的示例評分和電影類型 。在這個例子中,我已經要求了類型過濾是有條件的。當我選擇 G 在列表中評分 ,類型過濾器更改為僅列出包含至少一個G級電影的類型:

此符號表示過濾器是有條件的。僅過濾列來自同一張桌子影響條件過濾器中顯示的值。
JMP查詢生成器
在使用查詢生成器之後,一些用戶會問我們:“如果我只有一個充滿JMP數據表的文件夾怎麼辦?我可以在它們上使用查詢生成器嗎?“在JMP 13中,答案是響亮的 “是!” 或者您可能使用ODBC查詢生成器,文本導入或Excel導入嚮導來導入多個表。能夠使用Query Builder來加入結果會很不錯。有了JMP 13,你就可以!
要在JMP數據表上使用Query Builder,請先打開表,然後選擇 JMP查詢生成器來自表菜單。

例如,JMP有兩個示例數據表, SATByYear.jmp 和 CrimeData.jmp,兩者都有州和年列。另一個樣本表,美國人口統計數據.jmp ,有個州柱。我可以使用JMP Query Builder輕鬆地將這三個表連接起來:
JMP Query Builder允許最多 64 要連接在一起的表格。如果您將多個表格放入一個查詢中,請向我發送截圖。
所有其他功能查詢生成器 ,如過濾器和提示,也可用 JMP查詢生成器。
Query()JSL函數
我們在JMP中構建了一個SQL引擎,以允許Query Builder處理JMP數據表。一個新的JSL函數,查詢() ,使您可以直接訪問該SQL引擎。你可以使用查詢() 使用SQL語句操作JMP數據表的函數。這是一個使用的例子 SATByYear 和 CrimeData 樣本數據表:

在Open上運行
在JMP 13中,您可以配置查詢在打開它時立即運行,而不是打開“查詢生成器”窗口。只需檢查一下在Open上運行 “查詢生成器”窗口頂部的紅色三角形菜單上的選項:
這對於提示過濾器的查詢尤其有用。您可以將這些查詢發送給其他人(或將它們合併到JMP加載項中),當其他用戶打開它們時,他們只會看到過濾器提示。這允許他們進行過濾器選擇,而不必考慮查詢生成器的複雜性。
查詢設置為時在Open上運行 ,但您需要將其打開到Query Builder中進行更改,您有幾個選項。如果你按下了按Ctrl 在打開查詢時,它將打開到“查詢生成器”窗口。或者,您可以右鍵單擊中的查詢文件 JMP Home Window 並選擇編輯查詢 。
創建將在JMP 12中運行的查詢
對所有這些簡潔的新JMP 13 Query Builder功能的一個警告 - 如果您創建使用這些功能的查詢,您將無法在JMP 12中打開它們。與此同時,您可能比同事更早獲得JMP 13,以便您可以嘗試其他新功能。
為了幫助解決這個問題,我們在JMP 13中添加了一個偏好,它隱藏了查詢生成器的所有新的JMP 13功能,以便您構建的查詢仍然與JMP 12兼容。偏好是在查詢構建器首選項頁面 :
在設置該首選項後,您構建的任何ODBC或SAS查詢將僅允許與JMP 12兼容的功能。如果要放寬特定查詢的規則,可以在Query Builder的紅色三角形菜單上選擇一個選項,您可以取消選中該選項以允許該查詢的JMP 13功能:

“表”面板上的新功能
該表除了向您顯示查詢中的表列表之外,JMP 12中的“查詢生成器”窗口上的面板沒有太多功能。 在JMP 13中,該小組獲得了許多功能:
- 選擇一個或多個表表 panel限制了列表中列出的列可用列面板只顯示所選表格中的列,使列更容易找到。
- 該表 panel現在顯示與每個表的連接類型對應的維恩圖圖標,您可以編輯連接,更改表別名,或從上下文菜單中刪除查詢中的表。
- 查詢JMP數據表時,雙擊表中的表表面板使桌子可見並將其帶到前面(或選擇視圖上下文菜單上的項目)。
“前N行”抽樣
從數據庫查詢大型表時,有時在花費時間和資源檢索所有數據之前,只檢索要查詢的查詢的前幾千行數據是有幫助的。
在JMP 12中,前N行支持抽樣神諭和 SQL Server 數據庫。在JMP 13中,大多數其他數據庫都添加了支持,包括 PostgreSQL的 , MySQL的 , Microsoft Access , SQLite的 , Apache Hive ,和 Cloudera Impala 。

改進了Hadoop和文本文件支持
如今,越來越多的數據被存儲在“大數據”數據庫中。JMP 13改進了Apache Hive,Cloudera Impala和HortonWorks等資源的日期支持。另外,用表保存表文件>數據庫>保存表與這些數據源中的某些數據源不兼容。這在JMP 13中有所改進,但需要注意的是使用ODBC將數據保存到基於Hadoop的數據源並不是一種非常有效的方法來獲取數據。
如果您使用CSV文件做很多事情,請支持 Microsoft文本文件在JMP 13中改進了ODBC驅動程序。
將JMP數據保存到數據庫要快得多
將數據保存在數據庫中可以方便地訪問任何需要它的人。對於許多版本,JMP支持通過數據庫將JMP數據表保存到數據庫文件>數據庫>保存表特徵。但是,隨著數據量變得越來越大,我們有報告稱將JMP表保存到數據庫的時間比人們認為的要長得多。我們傾聽並進行了調查,我們很高興地報告,在JMP 13中,將JMP表保存到數據庫的性能顯著提高,在某些情況下顯著提高。請再次嘗試此功能,讓我們知道您的體驗。
虛擬加入
使用JMP,您分析的所有數據都必須適合內存。使用其中任何一個加入JMP數據表時表>加入或新的 JMP查詢生成器 ,數據往往會從較小的“查找”表複製到較大的連接結果中。為了幫助防止這種重複,虛擬加入功能已添加到JMP 13中。例如,DVD商店可能有庫存表知道所有DVD的位置和a 電影有關每個標題的詳細信息的表。在裡面電影表,我可以設置 film_id 列是鏈接ID 對於表:

然後,在庫存表,我可以設置 film_id 成為一個鏈接參考到了電影表。這個動作有效地連接了兩個表 film_id 柱。

一旦我設置了它,列中的列電影表現在出現在列列表中庫存。他們被指定為“ 引用列“並且最初是隱藏的。我可以取消隱藏我希望出現在哪個列中庫存表,在這種情況下標題[film_id] :

虛擬加入允許我看到來自的值電影在表中庫存表。但是,他們並沒有被人工複製。根據需要查找它們,這樣可以節省內存。
這只是劃傷了表面虛擬加入 ,這本身就值得一篇博文。
那麼,你有它 - 看看在JMP 13中訪問和操作數據的許多增強功能。您最喜歡哪個功能?您希望看到哪些功能沒有被提及?請在評論中告訴我。
有關使用Query Builder for JMP數據表的更多信息,請查看我的發現峰會海報展示在裡面 JMP用戶社區 。當你在那裡時,你也可以看到我的探索峰會教程中的幻燈片,標題為“ 使用JMP 13中的查詢生成器來處理所有數據 “。