Brian Corcoran - SAS軟體開發總監
JMP 提供了多種方式將各種資料格式匯入產品。此外,它還提供了大量的導出方式。第一個原因顯而易見。多年來,人們開發了許多用於收集和格式化資料的工具。在大多數情況下,這些工具無法將資料轉換為 JMP 資料表格式。匯出功能的目的是為了與廣大用戶分享結果,而其中許多人可能沒有安裝 JMP。
本文旨在簡要介紹 JMP 13 的一些導入、查詢和匯出功能。雖然桌面截圖使用的是 Windows 版本,但本文討論的所有功能在 Mac 版 JMP 中也同樣可用。我將採用敘述的形式,以便更清楚地展示完整的端到端工作流程。我選擇了一個近期發生的真實案例。
我有兩個兒子,一個即將大學畢業,一個讀大一。大兒子在大二的時候轉了專業。那段時間,我們經常討論他未來的職業選擇。你對什麼有興趣?你覺得你能為社會做出哪些貢獻?你想要一份辦公室工作還是更需要體力的工作?你想去旅行嗎?諸如此類的問題不勝枚舉。
小兒子已經有了學習計劃,但他不太確定這是否是正確的選擇。這次,我想多了解一些資訊來幫助他做決定。各種工作的就業前景如何?這或許能幫助他確認目前的選擇,或考慮其他方向。我和他聊過,他說他不介意讀個碩士學位,但可能不想讀博士。他可能想從事技術領域的工作,但也對其他領域持開放態度。他喜歡改進流程的想法,也喜歡在工作中走動。最後,他希望找到一份薪水較高的工作。好的。
原來美國勞工統計局有工具可以幫助我們做到這一點。 bls.gov網站包含大量關於就業成長和薪資、所需教育水平,甚至還有職位描述的數據,讓訪客了解該領域的具體內容。這些數據可供大眾下載,對我來說,這是一個很好的探索起點。
在瀏覽美國勞工統計局 (BLS) 網站時,「就業預測」和「職業就業資料庫」部分似乎最相關。 [1]該網站提供了一個資料檢視器,但我希望將其匯入 JMP。幸運的是,網站上有一個按鈕可以下載 Excel XLSX 格式的原始資料。太好了!我下載了文件,大小為 500K,大小適中。工作簿中有 12 個表格,但其中 1.7 表格(包含 2014 年的就業空缺數據以及到 2024 年的預測)似乎是最合適的。我使用 JMP 的“檔案”->“開啟”功能開啟工作簿,Excel 精靈會使用預設設定。我在“工作表”下選擇“1.7 表格”來更改導入設定:
使用預設設定預覽工作表
這裡有很多表頭資訊。我反覆調整 JMP 的列標題和資料起始位置的微調按鈕,最終找到了一個看起來更合理的設定:兩行表頭,表頭從第 2 行開始,資料從第 5 行開始。
調整設定後的工作表預覽
我點擊「導入」按鈕,1000多行資料就導入進來了。美國勞工統計局(BLS)提供了更詳細的資料集,但這個匯總資料集似乎滿足我的需求。唯一不足的是,我的JMP表格似乎有問題,而列被轉換成了字元格式。這是怎麼回事?

左對齊文字表示字元格式
如果我向下瀏覽數據,我可以看到表格末尾有四行註腳。

預設情況下,JMP 會掃描前 100 行資料來決定資料類型。這樣可以實現高效且反應迅速的預覽。但是,當實際匯入時,所有行都會掃描,並且列會轉換為字元型以防止資料遺失。我當然可以直接更改列類型,但我也可以返回並使用其他方式進行匯入。在「預覽窗格刷新」面板中,有一個「顯示所有行」的複選框。勾選此複選框後,預覽窗格中不僅會顯示表格中的所有行,而且還會使用所有行來確定列類型。

顯示所有行
現在,我可以跳到表格末尾,指定資料在腳註上方結束。我需要點擊精靈中的「下一步」按鈕,進入第二頁選項。在資料預覽中,我點擊想要包含的最後一行,然後在精靈的第二個窗格中,點擊「資料結束於第幾行」旁邊的綠色加號按鈕。精靈會自動填入正確的行號,然後我可以再次點擊「匯入」按鈕,讓資料格式正確。
現在我已經把資料完整地導入到 JMP 中,其中包含一千多個職業需要搜尋。前兩列的名稱又長又難懂,所以我按照美國勞工統計局 (BLS) 的較長名稱,將它們縮短為“矩陣標題”和“矩陣代碼”。現在,我想縮小搜尋範圍。表格中有一個名為「職業類型」的列,但它似乎不像「職業類型」這個概念。對於這一列,每一行都只顯示「摘要」和「項目」。原來,「摘要」指的是該行包含特定類型的所有工作,例如所有工程師。 「專案」則可能指的是機械工程師。因此,我首先想做的就是刪除所有摘要行。我可以使用類似“SELECT WHERE”的語句,然後對表格進行子集篩選以刪除摘要行。但是,我還想應用其他篩選條件。查詢建構器 (Query Builder) 非常適合這項工作。
如果您還不熟悉 JMP Query Builder,它是一款功能強大的查詢工具,提供圖形使用者介面 (GUI),用於在 JMP 資料表上建立 SQL 查詢。 JMP 也有類似的工具,可以透過 ODBC 查詢資料庫,並透過 JMP to SAS 連接器查詢 SAS 表。不過,您無需了解 SQL 即可使用 Query Builder。您可以透過使用者介面建立查詢並儲存以供重複使用,而無需查看底層 SQL 程式碼。
JMP 表的查詢建構器可以從「表」功能表呼叫。首先出現的表選擇對話方塊可讓您指定要用於查詢的表。在本例中,我只想篩選數據,因此我將選擇已匯入的表作為主表,然後繼續。

查詢建構器表選擇
選擇“建置查詢”將開啟我的主查詢建置對話框。前兩列包含美國勞工統計局 (BLS) 的職業名稱和代碼,名稱仍然有些晦澀難懂,分別是“矩陣標題”和“矩陣代碼” 。我並不關心代碼,所以忽略它。我對職業列的名稱仍然不滿意,因此在將該列新增至查詢後,我將單擊「JMP 名稱」以開啟編輯框,將查詢結果的標題變更為「職位名稱」 。

更改查詢後列名
我也會新增「職業類別」列,因為我想排除總計項目。我也會新增「2014-2024 年就業變化 - 數量」列,因為我更關注實際新增就業機會的數量。 「成長百分比」欄位看起來很有意思,但可能會產生誤導。成長最快的職業之一是風力渦輪機維修人員。然而,這個職業的就業人數只是從五千人成長到一萬人,相對於許多其他領域來說仍然很小。因此,我選擇使用新增就業機會的數量,而不是成長百分比。
我也會加上「年薪中位數」 ,因為這是我兒子列出的標準之一,以及「入職所需的典型教育程度」 。最後,我也會加入或許是所有欄位中最重要的一列: 2014-2024 年因成長和人員更替而產生的職缺。事實證明,許多職業的成長速度相對較慢,但由於需要填補大量退休人員的空缺,因此入門級求職者擁有巨大的機會。機械工程就是一個例子。在過去十年中,該職業的就業機會增長適中,為 14,600 個(5%)。然而,如果將人員更替也考慮在內,該職業新增的職位總數為 102,500 個,而該職業的總職位數為 277,500 個!這是一個典型的比例。統計學家在同一時期需要替換 50% 的職位。以下是進行任何篩選之前的查詢建構器列選擇:

篩選前查詢
我想添加一列來反映工作崗位更替和增長的百分比。我可以點擊“可用列”旁邊的紅色三角形選單,然後選擇“新增計算列”。我可以選擇「職缺…」作為分子, 「2014 年就業人數」作為除數,然後點擊「確定」。
新增計算列
該列已創建,名為計算器1 。我可以使用上下文選單將其名稱變更為「按總計計算的作業數」 ,然後將其新增至「包含列」。在那裡,我可以將“格式”欄位更改為“百分比”。由於變數名稱較長,您可能需要展開「包含列」窗格才能看到所有欄位。現在,我想我可以開始使用一些篩選條件來縮小搜尋範圍了。
首先,我可以將“職業類型”拖曳到“篩選器”面板。在那裡,我可以點擊“行項目”,只包含非匯總類型的行。現在,我要篩選“年薪中位數”,只包含年薪高於 75,000 美元的職位。當我將「年薪」拖曳到「職業類型」篩選器下方時,預設會執行「與」運算。這正是我想要的。如果需要“或”運算,則需要點擊“或”按鈕。我還輸入了“典型教育要求”,並進行了擴展選擇,包括“學士學位”、“碩士學位”以及短橫線(表示未編碼)。最後,我注意到剩餘的職位中有很多是管理類職位。入門級員工不太可能獲得管理職位,因此我想排除這些職位。我可以使用“包含”篩選器,將其切換為“不包含”來實現這一點。為此,我將“矩陣標題”變數拖曳到篩選器上。然後,點擊紅色三角形下拉選單,選擇「篩選類型->包含」。 “職稱”旁邊會出現一個下拉列表,選擇“不包含”,然後填寫“經理”。現在,我可以對「主管」執行相同的操作,排除執行長(順便一提,過去十年執行長人數下降了3%)。篩選完成後,列表如下所示:
已完成篩選
現在我可以點擊「執行查詢」按鈕,以取得包含所需資料的表格。我們已經將一千多行資料精簡到五十八行了。我們可以儲存查詢語句,以便稍後重新開啟進行修改。用於產生該表格的查詢語句也作為表格腳本保存在資料表中。您可以編輯該腳本來查看其運行邏輯,運行它來重新生成數據,甚至可以修改查詢語句(但請務必謹慎操作)。

資料表中的來源腳本
現在我有了數據,接下來我要選擇「職位」作為圖表的標籤。我啟動圖表產生器,將 X 軸設定為「年薪中位數」 ,Y 軸設定為「職缺」。為了包含更多信息,我將顏色設置為“典型教育水平要求”,並將標記大小設置為百分比,以顯示新增職位佔總求職者人數的比例。方法是將「統計的就職職位」拖曳到「大小」放置區。瀏覽圖表時,我注意到軟體職位佔據了相當顯眼的位置。我將應用程式和系統軟體職位標記為菱形標記。我可以把這個圖表發給我的大兒子,他主修電腦科學,讓他相信自己做了正確的選擇。最後,在對標題進行一些調整後,圖表最終看起來是這樣的:

JMP中的圖形建構器輸出
我決定將這份輸出結果以互動式 HTML 報告的形式發送給我的大兒子。這樣,他就可以一邊工作,一邊輕鬆地將滑鼠懸停在數據點上,探索數據,或者更準確地說,是在電腦上玩遊戲的時候。互動式 HTML 會將分析數據直接包含在 HTML 報告中,因此如果您處理的是敏感數據,請務必注意這一點。我可以輕鬆地使用“文件”->“另存為”(Mac 系統上為“文件”->“匯出”)建立報告,然後在“保存類型”下拉式選單中選擇“帶有資料的互動式 HTML”。我可以將這份獨立的報告郵寄給我的兒子,他可以在網頁瀏覽器中打開它,並將滑鼠懸停在數據點上查看:
Chrome 瀏覽器中的互動式 HTML 報表
我的小兒子是最初的目標受眾,他經常使用iPad。我想讓他先看一下這些數據,然後再讓他自己深入探索。 iPad上的Graph Builder可以開啟JMP資料表,如果表格中包含Graph Builder腳本,它會自動在Graph Builder中開啟。我可以先對數據表做一些分析,然後再讓兒子自己探索數據。我想在這個圖表中更突出職缺的數量。我以「招募資訊…」作為Y軸,以「職位」作為X軸,薪資範圍以顏色表示。但是,現在看起來有點雜亂無章。

初次嘗試
我可以重新開啟圖表建立器控制面板,只需點擊「樹狀圖」按鈕,就能得到我更喜歡的圖表。最棒的是,只需將滑鼠懸停在方格上即可輕鬆獲得更多資訊:
圖表建構器樹狀圖
在發送資料表之前,我需要將圖表建構器腳本嵌入其中。具體操作方法是:點擊圖表建構器輪廓節點旁的紅色三角形下拉式選單,然後選擇「儲存腳本」->「到資料表」。系統會提示我為腳本命名,我將其命名為“職位空缺”,然後點擊“確定”。這樣,樹狀圖腳本就會嵌入表格中。
現在我可以將資料表放在 Dropbox、iCloud 或 Google Drive 等雲端儲存資料夾中。 iPad 版 JMP Graph Builder 可以辨識這些儲存資料夾,我可以快速將表格下載到 iPad 上。最初,螢幕上只會顯示一個大的 JMP 圖標,用於選擇表格。
表格選擇窗格
點擊此按鈕後,圖形產生器應用程式將開啟表格,尋找表格中嵌入的第一個圖形產生器腳本,並顯示該分析。
圖表自動打開
現在我兒子有了數據和我初步的分析,他可以自己動手研究這些數據和圖表了。例如,他可以點選「篩選」按鈕,選擇任一列進行探索。一個例子是篩選“入職所需典型學歷”,看看哪些職位需要學士學位,哪些職位需要碩士學位:

按所需學位篩選
Graph Builder 應用的另一個非常棒的功能是,你可以嘗試桌面版 Graph Builder 中提供的大部分圖表。所以,如果我兒子想查看不同的視覺化效果,甚至想拖曳不同的列來從不同的角度查看數據,他都可以做到。列名旁邊有“抓取點”,表示你可以拖曳它們,而且當你拖曳變數時,熟悉的 Graph Builder 放置區域也會高亮顯示。此外,還可以自訂標記、背景顏色和座標軸。他可能會把輸出結果改成這樣:

使用 iPad 應用程式建立新圖表
我的這份工作就完成了。我已經寄了一份互動報告給每個兒子給他們參考。對於還在探索階段的兒子,他可以自己創建報告,希望他能從中獲得一些關於自己選擇的啟發。
還有很多其他方法可以將資料匯入 JMP,包括連接到 SAS、匯入文字資料、從其他來源取得的 SPSS 資料、Triple-S 調查資料等等。請查看“檔案”>“開啟”對話框,以了解所有選項。此外,您產生的報告可以以互動方式與他人共用,即使接收者沒有安裝 JMP 也可以。
[1]美國勞工統計局。 《就業預報》。美國勞工統計局,無日期。 2017年8月18日。 https
/www.bls.gov/emp/ep_data_occupational_data.htm