在進行新的管道工程時,我總是試著遵循我的兩個管道規則。規則一:永遠不要在冰箱裡沒有啤酒的情況下開始一個管道工程;你會感到沮喪,需要休息一下才能平靜下來,啤酒的效果非常好。規則二:永遠不要在五金店關閉時間的兩小時內開始一個管道工程(在家裡);你會發現你需要再多一段管子或配件。在你終於可以重新開啟水之前,要等到第二天早上才能獲得部件並解決問題,這太令人惱火了。
我發現編程通常與管道有很多共同之處。將類似規則應用於腳本中 JMP 腳本語言(JSL),我用含咖啡因的飲料代替啤酒。而不是開車到硬件商店,我訪問腳本索引。
如果您編寫任何JSL腳本,您可能有興趣知道Object Scripting Index(OSI)現在包含每個對象的每條消息的語法,描述和示例。目前共有2,600多條不同的消息,並且記住每種消息的語法對任何人來說都是具有挑戰性的。
您可以在“幫助”菜單下找到OSI。教學方面有三個方面特別有趣:數據表信息, SAS 適合模型的集成消息和僅腳本消息。我鼓勵你去探索其他信息,特別是在這些地區,因為我發現有很多珠寶藏在那裡。
數據表 :向下滾動到Objects面板中的Data Table,然後在Messages面板中嘗試向下滾動到消息“Unsubscribe。”這裡,您會看到兩個參數字段:第一個是字符串形式的名稱,第二個是你想要觸發取消訂閱的行動。選項之間的垂直條表示操作可以是四種可能選項之一。

要試用它,請單擊“運行示例”,然後關閉數據表並檢查日誌。在此示例中,訂閱開始時,JMP開始偵聽發生在數據表中的事件,就像運行任何分析或圖形時一樣。訂閱調用On On選項中傳遞的print函數,並在關閉數據表時將“Closing Data table”打印到日誌中。但是,取消訂閱會通過取消訂閱來阻止函數調用。如果刪除或註釋掉取消訂閱,請重新運行腳本並關閉數據表,您將在日誌中看到“關閉數據表”。
SAS集成 :在OSI對象面板中,向下滾動到嵌套在SAS Integration對像下的SAS Server對象。在消息面板中,向下滾動到“提交”。在此條目中,您將發現所有參數都是可選的,用表示。

如果已安裝SAS,請嘗試運行此腳本。SAS Connect()語句將在本地和後台運行SAS。完成後,您將在JMP中看到兩個新的輸出窗口。一個窗口包含顯示為html的SAS輸出,另一個窗口包含數據表,其中為殘差添加了新列。
適合模型 :Fit Model的對象條目是所有Fit Model個性的佔位符。在“對象”面板中,向下滾動到“擬合模型”下的“擬合最小二乘”,然後在“消息”面板中向下保存“編碼表”。在滾動時你會注意到有很多Get函數,許多人在編寫自定義統計信息時會覺得很有用。

運行示例時,除數據表Drug.jmp外,您還會看到標準最小二乘報表和新數據表。在新表中,我們看到變量的兩列,即Drug。JMP創建n-1列(和參數估計值),其中n是級別數。最後一級通過編碼列-1來表示。我們可能決定使用每種藥物水平的最小二乘平均值,而不是在輸出中的參數估計值上做一些代數來查看特定的藥物效應。您可以通過打開報告的“效果詳細信息”部分來查看“最小二乘平均值”。
如果你和我一樣,經過幾次初步嘗試之後,你會忘記你以前從未見過這個並且每次編寫腳本時都會使用OSI工具。與硬件商店不同,OSI永遠不會關閉。