通過 JSL 實現項目的可用性大家好,
我有幾個 jsl 腳本,用於處理從數據庫獲取數據、“操作”以及針對不同任務對這些數據進行分析。
出於組織目的,我喜歡使用“項目”,因為所有數據表、圖表和日誌等都可以存儲在“一個”文件中。
然而,我很難實現相應內容的保存過程的自動化。
所有文件都存儲在“工作區”下。 這實際上並未存儲在項目中(項目需要將文件存儲在“內容”下)。
我找不到一種方法可以讓我的腳本自動將文件存儲在“內容”下或在後續步驟中將文件移動到那裡。
我的基本 JSL 代碼(使用 JMP16)如下所示:
1. 版本
project = New Project();
project << Set Window Title( " blahblah " );
Move to Project( destination( project ), windows( {dt1, dt2, dt3} ) );2. 版本
prj = New Project(
run script(
...
)
);
實際上,兩者最終都會得到相同的結果,所有文件(數據表和圖表)都在工作區下,我需要手動將它們保存在該項目的內容下。
任何有關項目中數據處理的支持/提示將不勝感激!
我也與馬丁討論了這個問題,他建議利用你的知識/經驗!
謝謝!
乾杯
羅伯特
@馬丁德梅爾
自動化和腳本編寫內容組織回复:通過 JSL 實現項目的可用性真高興你做到了!
至於 Journals 不接受 << Save As(),我認為這是 JSL 中的錯誤。 每當真正明顯的語法不起作用時,即使其他不太明顯的語法起作用,也請讓 JMP 技術支持人員了解這一情況。 他們將提交包含您意見的錯誤,並將其轉發給相應的 JMP 開發人員。 雖然我無法做出具體承諾,但我們高度重視客戶報告的問題,因此我們很有可能在下一個版本中解決該問題。
氨基酸
回复:通過 JSL 實現項目的可用性自己發現的...
日記需要像這樣保存:
obj << SaveJournal("PATH");謝謝!
羅伯特
回复:通過 JSL 實現項目的可用性嗨亞倫,
這對數據表有很大幫助!
謝謝!
但是,我還有一本日記,我想將其保存在目錄下(手動沒有問題,但我希望 JSL 為我做這件事......)。
期刊好像不行?
您建議的方法僅適用於數據表嗎? (可能我錯過了一些東西......)
謝謝!
羅伯特
// Initialization
Names Default To Here( 1 );
dt = Open("$SAMPLE_DATA/Big Class.jmp");
w = dt << Run Script("Bivariate");
obj = w << Journal;
jrn = Current Journal();
jrn << Set Window Title( "Journal" );
prj = New Project();
Move to Project( destination( prj ), windows( {dt, w, jrn} ) );
prj << Run Script(
Create Directory("$PROJECT/my folder");
Data Table("Big Class") << Save As("$PROJECT/my folder/Big Class.jmp");
Current Journal() << Save As("$PROJECT/my folder/Journal.jrn");
);
回复:通過 JSL 實現項目的可用性在 JSL 中將內容保存到項目內容的最簡單方法是通過 $PROJECT 特殊目錄,該目錄幾乎可以在每個使用路徑的 JSL API 中使用(類似於 $SAMPLE_DATA、$DESKTOP 等)。
$PROJECT 僅在項目內部定義,因此通過 JSL 創建項目時,它必須位於 Run Script() 命令內部:
prj = New Project(
Run Script(
dt = new Table("My table");
dt << Save As("$PROJECT/my table.jmp");
)
);
或者像這樣:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
w = dt << Run Script("Bivariate");
prj = New Project();
Move to Project( destination( prj ), windows( {dt, w} ) );
prj << Run Script(
Create Directory("$PROJECT/my folder");
Data Table("Big Class") << Save As("$PROJECT/my folder/Big Class.jmp");
);
甚至:
prj = New Project();
prj << Run Script(
Copy File("$SAMPLE_DATA/Big Class.jmp", "$PROJECT/data/Big Class.jmp");
);
希望有幫助!
氨基酸