You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?您已經建立了一個腳本。 現在您如何分享您所創建的內容?
歡迎回來! 如果您已經完成了這一步,那麼您可能已經獲得了某種工作腳本。 恭喜! 如果你剛發現這個系列,您可能想在本文中添加一個圖釘並從頭開始。
以下是您可能錯過的連結:
所以,您已經獲得了一段不錯的新程式碼。 你對此有何計劃? 如果您在創建腳本時遇到了麻煩,您可能應該考慮如何將其打包以供其他人(或您自己)輕鬆使用。 在最後一篇文章中,我想給您一些關於如何分享您所創建的內容的想法。 聯合管理計劃有多個選項,具體取決於您想要共享的方式。
分享你的工作
有四到五種方法(取決於您與誰交談)可以打包腳本供其他人使用:JSL 檔案、查詢產生器檔案、JMP 外掛程式、JMP 應用程式以及 JMP Live 和/或 JMP Public 報告。 對於我們在這裡所做的腳本編寫級別,其中一些方法有點超出範圍(特別是應用程式;我們將把它們保存到另一個系列中)。 我在這裡想做的是為每種方法提供一些選擇和良好的資源,並透過一些範例來了解那些可以在腳本編寫之旅的當前階段為您帶來最大收益的範例。
JSL 檔案
這就是人們談論在 JSL 工作時想到的。 如果您一直在關注該系列,那麼這就是您的腳本目前所在的位置。 問題是,JSL 檔案並不是儲存或共享檔案的最佳方式。 它們可能會被意外編輯。 他們需要有人知道如何運行腳本。 而且,說實話,對於某些人來說,看到程式碼有點令人生畏。
JSL 檔案可能只應用於最瑣碎的任務或用於較大專案的原型方法。 當然也有例外。 如果您要建立函數庫或其他內容,它將作為 JSL 檔案存在。 還有一些 JMP 可以讓您直接提供 JSL(例如,代碼折疊關鍵字文件),但這些往往是例外而不是規則。 我個人的偏見是,如果我與其他編碼人員就某些內容進行協作,或者程式碼完全供我個人使用(例如,用於測試某些內容的程式碼片段),則僅將 JSL 檔案作為最後的手段。
查詢產生器文件
JMP 的查詢產生器透過 ODBC 驅動程式或 JMP 資料表支援大多數檔案類型。 如果您的腳本涉及資料操作步驟,那麼您可能可以將大量繁重的工作卸載到查詢產生器檔案中,並使用查詢後腳本(稍後會詳細介紹)來執行查詢產生器可以完成的部分不處理。 使用這些文件作為打包方法可以簡化工作流程並使腳本更加健壯。 他們還使腳本可移植。 另外,您還可以使用內建的過濾器提示來使您的程式碼更加靈活。
讓我們來看一個簡單的例子。 我將使用下面的 JMP 資料表查詢產生器表 > 查詢產生器而不是用於 ODBC 或 SAS 連接的連接,只是為了讓事情變得簡單,但這些情況的工作流程是相似的,並且有資源可以展示它們是如何運作的。
首先,讓我們設定一個表格查詢。 我不會把它寫出來。 JMP 文件團隊出色地完成了 SATByYear 樣本資料的範例。 只需按照以下說明進行操作即可這個例子並在執行查詢後停止,但保持查詢產生器開啟。 取得資料表後,建立 Graph Builder 地圖:
- 開啟圖形產生器(圖形 > 圖形產生器)。
- 將 State 拖曳到 Y 軸下方的地圖形狀放置區域。
- 將 % Take (2004) 拖曳到顏色放置區域。
- 轉到圖形產生器旁邊的紅色小三角形並選擇重做 > 列切換器。
- 選擇服用百分比 (2004)作為您想要切換的內容並點擊好的。
- 選擇所有連續變數作為您想要切換的變量,然後按一下好的。
選擇完畢關閉控制面板。
現在,要查看圖表需要進行大量的點擊操作,並且對於此類資料來說這是一個非常常見的視圖。 使用我們新的腳本編寫技能,我們可以讓查詢產生器重現此圖表(以及我們稍後可能選擇新增的任何其他圖表)。 操作方法如下:
- 選擇儲存腳本 > 到剪貼簿d 來自圖形產生器。
- 在查詢產生器中選擇查詢後腳本視窗下半部分的選項卡。
- 貼 ( CTRL+P對於 PC 或指令+P對於 MacOS)將腳本新增至「查詢後腳本」標籤。

- 點擊儲存查詢產生器文件節省。
- 現在,關閉查詢產生器建立的資料表和圖形產生器。
- 點選執行查詢。
看看效果如何? 透過使用查詢產生器,您可以以過濾對話方塊的形式免費獲得一些互動性,並且能夠顯著提高此工作流程的效率。 如果某人擁有這兩個資料文件,您可以將查詢產生器文件發送給他們,它將產生相同的結果。
JMP 插件
如果您想讓您的程式碼顯示在 JMP 中,那麼外掛程式就是您的最佳選擇。 插件顯示在 JMP 的插件選單中,僅在安裝第一個插件後才會出現。 它們儲存在 JMP 檔案系統中,因此使用者不必記住腳本檔案的位置。 它們為已完成的項目提供了一定的潤色元素。 誠然,它們一開始可能會令人生畏,但使用加載項嚮導它們確實很容易使用。
我將創建一個使用以下程式碼的非常簡單的加載項:
// Set up the namespace
Names Default to here(1);
// open the log window and clear it
Open Log();
Clear Log();
// write my message
Write(“Hello World!”);
程式碼將打開日誌並列印一條訊息。 我們將將此加載項稱為「我的第一個加載項」。第一步是打開插件產生器(檔案>新建>新加載項)。 之後,只需填寫表格即可。 介面頂部有五個選項卡。 我們的外接程序只需要前兩個。 第一個選項卡(一般資訊)更多地涉及簿記和讓 JMP 了解事物的位置。 第二個選項卡實際上設定 JMP GUI 中的位元。
在「常規資訊」下,「加載項名稱」和「版本」欄位非常不言自明。 您可以限制舊版的 JMP 執行使用最低 JMP 版本的程式碼。 您也可以使用主機限制您的加載項在 MacOS 或 Windows 上運行。 我建議設定最低版本和主機以匹配編寫程式碼的系統的配置(除非您有能力在其他配置上進行測試)。 這比試圖確保您的程式碼在所有情況下都無懈可擊要容易得多,尤其是當您剛開始時。 外掛程式 ID 是安裝外掛程式時在 JMP 檔案系統中建立的唯一資料夾名稱。 JMP 建議使用「反向 DNS」命名約定(不知道為什麼)。 它基本上意味著您創建一些看起來像網站地址的東西並將其反轉。 對於加載項,我們將使用 com.myAddin.MyFirstAddin。 第一個選項卡應如下所示:
在下面選單項目選項卡,您只需單擊新增命令按鈕。 然後在“詳細資料”下,為選單項目命名。 如果您想變得更奇特,您可以給它一個工具提示來解釋當您將滑鼠懸停在加載項上時它會做什麼。 然後,您只需將 JSL 複製並貼上到「操作」區域即可。 如果您使用上面的程式碼片段,您的選單項目選項卡應如下所示:

就是這樣。 只需儲存檔案即可完成! 因為預設操作(在基本訊息選項卡)是在儲存時安裝加載項,按一下節省將建立一個檔案傳送給其他人並將其安裝在您自己的 JMP 實例上。 儲存加載項後,您應該會在加載項的選單中看到如下所示的項目:
JMP 應用程式
那麼,您想要製作一些看起來像是 JMP 原生部分的東西嗎? 在我看來,Application Builder 是產生高品質、客製化 JSL 解決方案的最靈活、最有效的方法。 它使您能夠控制軟體的各個方面、利用 JMP 的現有部分以及使用客製化設計的例程。 這種靈活性和強大的能力確實是以學習曲線的形式付出代價的。
也就是說,你不該讓它嚇倒你。 有許多資源可以幫助您開始使用 Application Builder,並且您可以用它做很多令人難以置信的事情。 只需要做一些工作即可啟動並運行。 JMP 中也內建了「精簡」版本的 Application Builder。 您會知道它是一個名為 Dashboard Builder 的拖放工具。 一旦您獲得了一些 JSL 經驗, SAS Education 的「應用程式建構器」課程了解這個非常強大的工具並不是一個壞方法。 我還打算在某個時候就這個主題製作另一個“五件事”系列,所以請留意!
JMP Live 和 JMP Public
雖然 JMP Live 和 JMP Public 更注重「使用」端,但您可以使用此方法建立和發布儀表板和報告以供其他人使用。 大多數情況下,您只是使用我在本系列中向您展示的 JSL 部分。 丹·瓦倫特做了一個關於編寫 JMP Live 腳本的精彩部落格文章(和 JMP Public)發布流程,所以我不會詳細說明這一點。
家庭作業
好吧,你成功了! 最後的作業真的很簡單。 打包您的程式碼,將其交給同事,讓他們嘗試一下,看看是否有效。 如果沒有,請查看錯誤訊息並找出原因。 如果是,那麼您已經製作了第一個 JMP 插件! 幹得好。
從這往哪裡走
就像我之前說的,這個系列並不是為了讓你把頭髮吹到後面並用我的腳本能力讓你眼花繚亂。 它的目的是讓你的鼻子指向正確的方向,給你一張好的地圖,拍拍你的背,並在你遇到困難時提供一些幫助。 這是一個起點;你前面的路比你後面的路還多。
因此,從這裡開始,訣竅就是不斷嘗試和試驗。 不斷將人們的加載項和應用程式拆開,看看它們是如何運作的。 不斷嘗試新事物並尋找機會,透過少量腳本使您的工作流程更有效率。 你做得越多,你就會做得越好,你正在考慮的更大的項目也會顯得更平易近人。 堅持下去。