需要帮忙。 在创建交互式 HTML 文件时遇到一些错误我正在编写脚本,通过将数据过滤器功能添加到图形中来制作文件 HTML(交互式),但是在调用函数保存交互式 HTML() 期间,我在以下代码中遇到了一些错误
感谢您对此提供帮助。
错误消息在附图下方。


这是我的代码
Names Default To Here( 1 );
dt = Open( "C:\myJSL\BigClass.csv");
app=New Window( "Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() <<
Data Filter( Local ),
Platform(
Current Data Table(),
Bivariate( Y( :height ), X( :weight ) )
),
Platform(
Current Data Table(),
Distribution(
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 )
)
)
)
)
)
);
box = app << Run;
Show Properties( box );
Show( box );
/*create HTML */
(box << get windows)[app] << save Interactive HTML( "C:\myJSL\myiHTML.htm" );
/* Open HTML file in Chrome */
Web( "file:///C:/myJSL/myiHTML.htm", Chrome);脚本回复:需要帮助。 在创建交互式 HTML 文件时遇到一些错误你好,约翰, @John_Powell_JMP非常感谢您帮助我找出代码中的错误。 现在它工作正常!这样我就可以为下一步调整适合我实际任务的代码。
无论如何,也感谢您提供一些我应该遵循的提示。

回复:需要帮助。 在创建交互式 HTML 文件时遇到一些错误你好@cp蝙蝠侠,
您将模式和添加过滤器行添加到数据过滤器上下文框函数而不是数据过滤器函数。 您还添加了一个额外的 H 列表框来复制第一个列表框。
下面是它应该如何进行一些小的文件名更改以使其在我的计算机上工作:
Names Default To Here(1);
/* using sample data table */
dt = Open("$SAMPLE_DATA/Big Class.jmp"); // C:\myJSL\BigClass.csv");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter(Local,
/** added code to handle data filter **/
Mode( Include( 0 ) ),
Add Filter( columns( :height ), Display( :height, N Items( 6 ) ) )
/** end of added code **/
),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
/** removed duplicate H List Box code **
,
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
** end of removed code **/
)
);
/* exported file location changed */
app << save Interactive HTML("$DOWNLOADS\myiHTML.htm");
Web("$DOWNLOADS/myiHTML.htm", Chrome); // open with default browser
由于您是 JSL 脚本编写方面的新手,因此这里有一些技巧应该对您有所帮助:
1. 在 JSL 编辑器中右键单击并选择“显示行号”以帮助查找嵌入式日志中提到的行(脚本下方)。
2. 要找出可以传递给函数的参数,请将鼠标悬停在函数名称上,提示应该会显示这些参数。 要获得有关该函数的更多信息,请右键单击该函数并选择“帮助脚本索引”。
~约翰
回复:需要帮助。 在创建交互式 HTML 文件时遇到一些错误你好,约翰, @John_Powell_JMP非常感谢您预测我将要看到的下一期。
现在我得到了你告诉我的问题哈哈哈^^”
无论如何,我尝试添加您建议的代码(在评论区添加代码来处理数据过滤器), 但我得到了一些错误作为附图。 你能帮忙吗? 抱歉打扰了,我对 JSL 很陌生。
Names Default To Here(1);
dt = Open("C:\myJSL\BigClass.csv");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
<FONT color="#FF0000"> /** added code to handle data filter **/
Local,
Mode( Include( 0 ) ),
Add Filter( columns( :height ), Display( :height, N Items( 6 ) ) );
/** end of added code **/</FONT>
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
),
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
)
);
app << save Interactive HTML("C:\myJSL\myiHTML.htm");
Web("file:///C:/myJSL/myiHTML.htm", Chrome); // open with default browser这是我的错误信息。

回复:需要帮助。 在创建交互式 HTML 文件时遇到一些错误太感谢了@jthi
我按照你的建议做了之后它工作正常。

回复:需要帮助。 在创建交互式 HTML 文件时遇到一些错误你好@cp蝙蝠侠,
我不禁注意到脚本中的本地数据过滤器没有定义要过滤的列。
我还注意到您在本地数据过滤器中启用了包含模式。
本地数据过滤器在交互式 HTML 中不起作用,除非在保存之前添加过滤器列并禁用包含模式。
下面是一些本地数据过滤器脚本代码,它将禁用包含模式和年龄列上的过滤器:
Data Filter(Local,
Mode( Include( 0 ) ),
Add Filter( columns( :age ), Display( :age, N Items( 6 ) ) )
)
如果将其与 Jarmo 的解决方案结合使用,您的过滤器应该可以在 JMP 和交互式 HTML 中使用。
请注意,禁用包含模式时的行为将不同于启用时的行为,因为过滤器只会显示/隐藏行。 将始终包括所有行。 虽然双变量图中的点和箱线图中的异常值将响应局部数据过滤器的显示模式,但直方图和箱线图不会。
请注意,当发布到同样使用交互式 HTML 的 JMP Live 或 JMP Public 时,不需要禁用包含模式。
希望这个对你有帮助。
~约翰
回复:需要帮助。 在创建交互式 HTML 文件时遇到一些错误我正在使用 JMP16。
我对您的脚本进行了细微修改。当像这样使用新窗口时不需要 box 变量(不确定何时需要它,应用程序/仪表板?),您可以将应用程序(新窗口)保存为交互式 html。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
)
);
// box = app << Run;
// Show Properties(box);
// Show(box);
/*create HTML */
app << save Interactive HTML("$DOWNLOADS\myiHTML.html");
Web("$DOWNLOADS\myiHTML.html"); // open with default browser