<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
首先,我使用的是 JMP 11
我正在尝试创建我的分析师将来可以使用的模板脚本。 我是 JSL 新手,正在尝试弄清楚如何在 JSL 中导入特定工作表,然后将特定变量修改为数字并添加新计算。
当我尝试此代码的导入部分时,它会打开导入向导,而不是创建一个名为“我们的数据”的新数据表。
--
dtmain = New Table("我们的数据",
Open("C:\测试数据.xlsx",
工作表(“最终数据”),
)
);
当前数据表(dtmain);
列(dtmain,“类型”)<<数据类型(数字)<<建模类型(序数)<<格式(最佳,12);
列(dtmain,“结果1)<<数据类型(数字)<<建模类型(连续)<<格式(最佳,12);
列(dtmain,“Result2”)<<数据类型(数字)<<建模类型(连续)<<格式(最佳,12);
新列(“结果比率”,
数字,
连续的,
格式(“最佳”,12),
公式( :Result1 / :Result2 )
);
作为替代方案,还有一个函数“Pick File()”来选择文件路径中的特定文件,可以集成在 Open() 函数中:
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);或者其他可能性是将 excel 文件始终命名为相同的名称,以便脚本 Open() 可以与此特定名称一起使用:
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
您不能将 Worksheets 部分放在 Open 之外,因为它指的是要打开的文件。确实没有办法为 JSL 中的常规打开指定默认设置。JSL 旨在打开具有已知名称和设置的已知工作表。对不起。
布莱恩·科科伦
是的,谢谢! 我之前用我之前的代码尝试过,它打开了一个只有一个空白列的数据表。 这样做和上述代码更改有效。
太感谢了!
正确获取 JSL 的文件打开部分的最简单方法是首先使用 UI 和 Excel 向导打开文件。然后,在打开的表中,您将看到一个 Source 脚本。此脚本包含以完全相同的方式重新打开表所需的 JSL。您可以上下文单击源脚本并选择编辑以提取 JSL。我的表中的一个示例是:
打开(
"C:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx" ,
工作表( “行星” ) ,
用于所有工作表( 1 ) ,
连接工作表( 0 ) ,
创建连接列( 0 ) ,
1 ,
有列标题( 1 ) ,
标题中的行数( 1 ) ,
标题从行开始( 2 ) ,
数据从行开始( 3 ) ,
数据从列开始( 1 ) ,
数据在行结束( 0 ) ,
数据以列结尾( 0 ) ,
复制的跨行行( 1 ) ,
抑制隐藏行( 1 ) ,
抑制隐藏列( 1 ) ,
视为层次结构( 0 )
));
不幸的是,它仍在打开 Excel 导入向导。 如果这会产生影响,则 Excel 文件中有多个工作表,但我认为 Worksheets 命令可以防止出现问题。
尝试将打开和重命名命令分开:
主程序=打开( “C:\测试数据.xlsx” ,工作表( “最终数据” )) ;
主程序<<设置名称( “我们的数据” ) ;