用于从 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" );