用於從 csv 創建 jrp 文件的腳本模板<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨,大家好
我是 JMP Pro 及其腳本語言以及那些 SAS 論壇的新手。
如果您認為我在錯誤的地方發布了我的問題 - 讓我知道並請原諒,
我的目標是創建一個腳本,它將:
打開 CSV 文件
基於此文件中的表格創建可變性圖表
將結果保存為 JRP 文件
現在一些細節.
CSV 文件的行號可能很大。 該文件以列名行開頭。 讓我們假設這個文件的完整路徑是“路徑到CSV ”。
我有一個腳本可以創建我需要的可變性圖表。 讓我們假設這個腳本的文本是“圖表腳本”。
因此,我想獲得一個 .JRP 文件,其中包含來自 CSV 文件和圖表的數據,讓我們假設所需 JRP 文件的路徑是“期望的報告路徑”。
我知道創建圖表的腳本中的列名是正確的,並且這些列確實存在於 CSV 文件中。
更多細節:
實際上,我正在編寫一些 C# 應用程序來自動執行測試日誌解析過程。 它做了很多(與 JMP 無關的)事情。
我們有一些環境可以創建大量具有已知方案的 csv 文件。
我們有一些專家知道如何在 JMP Pro 中打開這些文件並創建他們需要的圖表。
所以那些人可以給我這些圖表的精確腳本。 對於不同的 CSV 方案,他們有不同的圖表。
我在我的應用程序中將這些 csv 與相同的方案合併,然後我想使用 JMP 互操作來運行我想要構建的腳本。
我將為每個合併的 CSV 文件運行不同的腳本。 所以我需要為腳本創建一個模板。
問題: 做我想做的事的腳本是什麼?
我假設它具有以下結構:
X1 PathToCSV X2圖表腳本 X3期望的報告路徑
X1 打開 CSV 文件並創建一些數據表,
X2 為圖表打開新標籤(?)並創建它
X3 將所有工作保存到所需路徑
問候,
阿爾喬姆;
回复:用於從 csv 創建 jrp 文件的腳本模板在這種情況下,vc 是可變性圖表,它是用於尋址報告窗口的變量(句柄)。
vc<
在示例中,我將日誌“jvs”保存為多種文件類型。 我們可以將“vc”保存為其中一種文件類型。
當我不想花任何時間構建更漂亮的報告窗口(例如應用程序構建器)時,將多個報告發送到一個日誌然後保存日誌很方便。
JSL 非常靈活,您幾乎可以構建任何您能想像到的東西。
回复:用於從 csv 創建 jrp 文件的腳本模板感謝您的回答,拜倫!
你給的劇本幾乎就是我需要的。
但是,有些事情我想念/不明白。
我認為我對以下兩行有疑問:
jvs=vc<<雜誌;
jvs << 保存日誌( "C:/testJRN.jrn" );
首先 - 他們有聯繫嗎? 意思是,如果我只想保存變異圖表的圖像,我是否還應該擁有
“ jvs=vc<<雜誌; " 我的模板中的行?
而且我很確定,我只需要兩個選項(所以我需要兩個模板,或者帶有附加參數的模板):
1 - 保存創建圖表的圖像
2 - 保存一些東西
- 包含來自 CSV 的所有數據
- 包含創建的圖表
- 允許進一步使用以上兩個
那麼,期刊是第二種的正確選擇嗎? 還是“報告”?
可能最後一個字符串應該是這樣的:
jsv<< 保存報告("C:/testReport.jrp");
問候,
阿爾喬姆
回复:用於從 csv 創建 jrp 文件的腳本模板我懷疑這個答案過於簡單化了,但只是打開一個 CSV(假設數據結構良好)生成報告(JMP 調用輸出報告)、記錄結果並保存日誌並不是非常複雜。
JMP 為您編寫了其中的大部分內容。 只需從打開的文件中的源腳本中捕獲腳本,並從可變性報告中捕獲報告腳本。 在 JMP 中打開 CSV 之前對其進行格式化是困難的部分。
我希望這有幫助,
拜倫
示例:(在 JMP 腳本窗口中通過此
path=get default directory();//獲取腳本保存的目錄
//JMP 在打開文件時寫入此語句。 從 CSV 檢查 JMP 表中的源腳本
dt=打開(
"C:\Program Files\SAS\JMPPRO\11\Samples\Import Data\Book1.csv",
// 此文件可能位於您安裝的不同位置。
列(
Column( "1", Numeric, nominal, Format( "Best", 10 ) ),//我為這個例子做了這個 col nominal
Column( "2", Numeric, nominal, Format( "Best", 10 ) ),//我為這個例子做了這個 col nominal
列(“3”,數字,連續,格式(“最佳”,10))
),
導入設置(
行尾(CRLF,CR,LF),
字段結束(逗號,CSV(1)),
帶引號( 0 ),
使用撇號作為引號(0),
掃描整個文件( 1 ),
將空列視為數字 ( 0 ),
CompressNumericColumns( 0 ),
壓縮字符列(0),
CompressAllowListCheck( 0 ),
標籤( 1 ),
列名開始(1),
數據開始(2),
要讀取的行(“全部”),
年份規則(“20xx”)
)
);
//jmp 為這個可變性圖表編寫了腳本。 只需從報告中復制腳本
vc=dt<<變異圖(
Y( :姓名( "3" ) ),
X( :姓名( "1" ), :姓名( "2" ) ),
最大迭代器( 100 ),
轉換限制(0.00000001),
數積分橫坐標(128),
數字函數評估(65536),
Analysis Type( Name( "選擇最佳分析 (EMS REML Bayesian)" ) ),
標準差圖表 ( 0 )
);
jvs=vc<<雜誌;
//將日誌“jvs”保存到路徑,連接到文件名
jvs << 保存日誌(路徑 || “testJRN.jrn”);
//或其他方便的文件類型
jvs << 保存 pdf( 路徑 || "testPDF.pdf" );
jvs << 保存圖片( 路徑 || "testPNG.png", png );
jvs << 保存交互式 HTML( 路徑 || "testHTML.htm" );
jvs << 保存 MSWord( 路徑 || "testDOC.doc" );